• linux系统常用命令


    linux系统常用命令

    一、常用目录

    / 根目录
    /root root用户的家目录
    /home/username 普通用户的家目录
    /etc 配置文件目录
    /bin 命令目录
    /sbin 管理命令目录
    /user/bin/usr/sbin 系统预装的其他命令
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、帮助命令

    1、man 是 manual 的缩写

    演示:

    # man ls
    # man 章节(1-7) man 例如 # man 1 ls
    
    • 1
    • 2
    2、shell(命令解释器)自带的命令称为内部命令,其他的是外部命令
    • 内部命令使用help帮助
    # help cd
    
    • 1
    • 外部命令使用help帮助
    # ls --help
    
    • 1

    注:可以使用 # type 别名 来判断是内部命令还是外部命令

    # type ls
    
    • 1
    3、info帮助比help更详细,作为help的补充
    # info ls
    
    • 1

    三、文件管理

    1、pwd 显示当前的目录名称
    # pwd
    
    • 1
    2、cd 更改当前的操作目录
    # cd /path/to/... 绝对路径
    # cd ./path/to/... 相对路径
    # cd ../path/to/... 相对路径
    
    • 1
    • 2
    • 3
    3、ls 查看当前目录下的文件
    # ls [选项,选项...] 参数...
    
    常用参数:
    · -l 长格式显示文件
    · -a 显示隐藏文件
    · -r 逆序显示
    · -t 按照时间顺序显示
    · -R 递归显示
    · -h 显示内容大小(以M单位形式)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    4、mkdir 建立目录
    # mkdir [选项] 参数
    
    常用参数:
    · -p 建立多级目录
    
    • 1
    • 2
    • 3
    • 4
    5、删除空目录
    rmdir 删除空目录
    rm -r 删除非空目录
    
    • 1
    • 2
    6、复制文件

    cp 复制文件和目录

    · cp [选项] 文件路径
    · cp [选项] 文件... 路径
    
    常用参数:
    · -r 复制目录 
    · -p 保留用户、权限、时间等文件属性
    · -a 等同于 -dpR
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    7、移动文件

    mv 移动文件

    · mv [选项] 源文件 目标文件
    · mv [选项] 源文件 目录
    
    • 1
    • 2
    8、删除文件

    rm 删除文件

    常用参数:
    · -r 删除目录(包括目录下的所有文件)
    · -f 删除文件不进行提示
    ps:rm命令可以删除多个目录,需谨慎使用
    
    • 1
    • 2
    • 3
    • 4
    9、查看文件权限的方法
    • 查看文件权限

      · -rw------1 root root 1523 sep 28 12:25 anaconda-ks.cfg
       _ ________ ___________                 _______________
      类型   权限   所属用户和组                       文件名
      
      · -rw-r-xr--1 username groupname mtime filename
      	· rw-  文件属主的权限
      	· r-x  文件属组的权限
      	· r--  其他用户的权限
      · 创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户来设定
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • 文件类型

      · - 普通文件
      · d 目录文件
      · b 块特殊文件
      · c 字符特殊文件
      · l 符号链接
      · f 命名管道
      · s 套接字文件
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 文件权限的表示方式

      · 字符权限表示方法
      	· r 读
      	· w 写
      	· x 执行
      
      · 数字权限的表示方法
      	· r=4
      	· w=2
      	· x=1
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • 目录权限的表示方法

      · x   进入目录
      · rx  显示目录内的文件名
      · wx  修改目录内的文件名
      
      • 1
      • 2
      • 3
    10、修改权限命令
    • chmod 修改文件、目录权限

      # chmod u+x /tmp/testfile
      # chmod 755 /tmp/estfile
      
      • 1
      • 2
      chmod u g o a
      · u 修改属主权限
      # chmod u+x file // 增加权限
      · g 修改属组权限
      # chmod g-r file // 删除权限
      · o 修改其他用户权限
      # chmod o=w file // 赋予权限
      · a 修改全部权限
      # chmod a+x file
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • chown 更改属主、属组

      · 修改属主
      	# chown user1 /test
      · 修改属组
      	# chown :group /test
      
      • 1
      • 2
      • 3
      • 4
    • chgrp 可以单独更改属组,不常用

      # chgrp group /test
      
      • 1
    11、特殊权限
    • SUID 用于二进制可执行文件,执行命令时取得文件属主权限
      • 如 /usr/bin/passwd
    • SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
    • SBIT 用于目录,该目录下新建的文件和目录,仅 root 和自己可以删除
      • 如 /tmp

    四、文本查看命令

    1、常用文本查看命令
    • cat 文本内容显示到终端

    • head 查看文件开头

    • tail 查看文件结尾

      ·常用参数 -f 文件内容更新后,显示信息同步更新

    • wc 统计文件内容信息

    五、打包与压缩

    1、 tar 打包与压缩命令
    常用参数:
    · c 打包
    · x 解包
    · f 指定操作类型为文件
    · z gzip格式(压缩快、压缩率低)
    · j bzip2格式(压缩慢、压缩率高)
    
    例:
    # tar czf 源文件(/tmp/etc-backup.tar.gz) 目标文件(/etc)
    # tar cjf 源文件(/tmp/etc-backup.tar.bz2) 目标文件(/etc)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    六、多模式文本编辑器

    1、四种模式
    • 正常模式(Normal-mode)
    • 插入模式(Insert-mode)
    • 命令模式(Command-mode)
    • 可视模式(Visual-mode)
    2、正常模式常用命令集合
    · hjkl 左上下右
    · a 在光标后一位开始插入
    · A 在当前行最后一位开始插入
    · o 在当前行下一行插入
    · O 在当前行上一行插入
    · r 替换光标所在字符
    · dd 删除当前光标所在行
    · x 删除光标后一位
    · d + 上下左右 可删除上下行或左右单个字符
    · u 撤销
    · ctrl + r 重做(撤回撤销)
    · shift + ^ 跳到光标当前行首
    · shift + $ 跳到光标当前行尾
    · yy 复制当前行
    · 数字 + yy 复制当前光标所在位置及往下n行(# 3 yy 复制当前光标所在行开始往下三行)
    · y + $ 复制光标当前位置至最后位置
    · dd 剪切当前行
    · 数字 + dd 剪切当前光标所在位置及往下n行(# 3 dd 剪切当前光标所在行开始往下三行)
    · d + $ 剪切光标当前位置至最后位置
    · p 粘贴
    · gg 回到第一行
    · GG 回到最后一行
    · 数字 + gg 回到数字所在行(23 + gg 回到23行)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    3、命令模式常用命令集合
    · ?查找字符 可查找需要查找的字符(# ?test 查找文本中含有test字符位置)
    · n 向下查询查找的字符
    · N 向上查询查找的字符
    · s/old/new 替换当前行old字符更换为new字符(#s/test/test1 将当前行test字符更换为test1字符)
    · %s/old/new 替换当前文本中第一个old字符更换为new字符(# %s/test/test1/g 将当前文本中第一个test字符更换为test1字符)
    · %s/old/new/g 替换当前文本中所有old字符更换为new字符(# %s/test/test1/g 将当前文本中所有test字符更换为test1字符)
    · 数字,数字/old/new 替换当前文本指定行数第一个old字符更换为new字符(# 3,5s/test/test1 将当前文本中第三行到第五行中第一个test字符替换成test1) 
    · 数字,数字/old/new/g 替换当前文本指定行数所有old字符更换为new字符(# 3,5s/test/test1/g 将当前文本中第三行到第五行中所有test字符替换成test1) 
    · set nu 显示行数
    · set nonu 不显示行数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    4、可视模式
    • 三种进入可视模式的方法

      · v 字符可视模式
      · V 行可视模式
      · ctrl + v 块可视模式
      	·配合d和I命令可以进行块的便利操作
      
      • 1
      • 2
      • 3
      • 4

    七、用户与权限管理

    1、用户管理常用命令
    • useradd [用户名] 新建用户

      # useradd username 新建username用户
      
      注:可使用 -g 在新建用户时直接分组
      	# useradd -g group1 user1 新建user1用户并加入group1组中
      
      • 1
      • 2
      • 3
      • 4
    • id [用户名] 查询该用户是否存在以及所在组

      # id username 查询username是否存在以及所在组
      
      • 1
    • passwd [用户名] 修改用户密码

      # passwd username 修改username密码
      
      • 1
    • userdel [用户名] 删除用户

      # userdel username 删除username用户
      
      注:
       · -r 删除用户并删除用户家目录等数据
      # userdel -r username 删除username账户所有信息包括路径
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • usermod [选项] [用户名] 修改用户属性

      常用参数:
      · -a 将用户增加到附件组。只能和 -G 选项一起使用。
      · -c 用户密码文件中注释字段的新值。
      · -d 用户的新登录目录(修改新的用户家目录地址)。
      	· usermod -d [路径] [用户名]
      	# usermode -d /home/w1 w
      · -e 用户账户将被禁用的日期。
      · -g 将用户修改进某个用户组
      	· usermod -g [用户组名] [用户名]
      	# usermod -g group1 user1
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
    • chage [选项] [用户名] 修改用户属性

    2、组管理命令
    • groupadd [用户组名] 新建用户组
    # groupadd group1 新增group1用户组
    
    • 1
    • groupdel [用户组名] 删除用户组

      # groupdel group1 删除group1用户组
      
      • 1
    3、用户切换
    • su 切换用户

      • su - username 使用 login shell 方式切换用户
    • sudo 以其他用户身份执行命令

      • visudo 设置需要使用sudo的用户(组)

        # visudo 根据提示修改需要增加的用户以及授权特殊命令
        
        • 1
    4、常用配置路径
    • /etc/passwd 用户配置信息文件(登录是否需要密码、uid、guid、家目录路径等配置)
    • /etc/shadow 用户配置信息文件(加密后的密码、权限等)
    • /etc/group 用户组配置信息文件

    八、网络管理

    1、网络状态查看工具
    1. net-tools

      • ifconfig

        · eth0 第一块网卡 (网络接口)
        · 你的第一个网络接口可能叫做下面的名字
        	· eno1 板载网卡
        	· ens33 PCI-E网卡
        	· enp0s3 无法获取物理信息的PCI-E网卡
        	· CentOS 7 使用了一致性网络设备命名,以上都不匹配则使用eth0
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
      • route

      • netstat

    2. iproute2

      • ip
      • ss
    2、网络接口命名修改
    • 网卡命名规则受biosdevname和net.ifnames两个参数影响

    • 编辑 /etc/default/grub 文件,增加 biosdevname=0 net.ifnames=0

    • 更新 grub

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      
      • 1
    • 重启

      # reboot

    biosdevnamenet.ifnames网卡名
    默认01ens33
    组合110em1
    组合200eth0
    3、查看网络情况
    • 查看网卡物理连接情况

      # mii-tool eth0
      
      • 1
    • 查看网关

      # route -n
      · 使用 -n 参数不解析主机名
      
      • 1
      • 2
    4、网络配置命令
    • ifconfig <接口> [ netmask 子网掩码 ]

    • ifup <接口>

    • ifdown <接口>

    5、网关配置命令
    • route add default gw <网关ip>
    • route add -host <指定ip> gw<网关ip>
    • route add -net <指定网段> netmask <子网掩码> gw <网关ip>
    6、网络命令集合:ip命令
    • ip addr ls
      • ifconfig
    • ip link set dev eth0 up
      • ifup eth0
    • ip addr add 10.0.0.1/24 dev eth1
      • ifconfig eth1 10.0.0.1 netmask 255.255.255.0
    • ip route add 10.0.0/24 via 192.168.0.1
      • route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
    7、网络故障排除命令
    • ping
    • traceroute
    • mtr
    • nslookup
    • telnet
    • tcpdump
    • netstat
    • ss
    8、网络服务管理
    • 网络服务管理程序分为两种,分别为SysV和systemd
      • service network start|stop|restart
      • chkconfig-list network
      • systemctl list-unit-files NetworkMannager.service
      • systemctl start|stop|restart NetworkManger
      • systemctl enable|disable NetworkManger
    9、网络配置文件
    • ifcfg-eth0 //网卡配置文件

      # cd /etc/sysconfig/network-scripts
      # vim ifcfg-eth0
      
      • 1
      • 2
    • /etc/hosts //主机配置文件


    九、软件包管理器

    1、软件包管理器
    • 包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具
    • CentOS、RedHat使用yum包管理器,软件安装包格式为rpm
    • Debian、Ubuntu使用apt包管理器,软件安装包格式为deb
    2、rpm包格式
    • rpm包格式
    • v i m − c o m m o n \color{#FF00FF}{vim-common} vimcommon - 7.4.10 − 5 \color{#FF7D00}{7.4.10-5} 7.4.105 . e l 7 \color{#00FF00}{el7} el7 . x 86 _ 64 \color{#00FFFF}{x86\_64} x86_64 .rpm

    软件名称 \color{#FF00FF}{软件名称} 软件名称 软件版本 \color{#FF7D00}{软件版本} 软件版本 系统版本 \color{#00FF00}{系统版本} 系统版本 平台 \color{#00FFFF}{平台} 平台

    3、yum命令常用选项
    • install 安装软件包
    • remove 卸载软件包
    • list | grouplist 查看软件包
    • update 升级软件包
    4、升级内核
    1. rpm格式内核

      • 查看内核版本
      # uname -r
      
      • 1
      • 升级内核版本

        # yum install kernel-3.10.0
        
        • 1
        • 升级已安装的其他软件包和补丁
        # yum update
        
        • 1
    2. 源代码编译安装内核

      • 安装依赖包
      # yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
      
      • 1
      • 下载并解压缩内核

        https://www.kernel.org
        # tar xvf linux-5.1..10.tar.xz -C /usr/src/kernels
        
        • 1
        • 2
      • 配置内核编译参数

      # cd /usr/src/kernel/linux-5.1.10/
      # make menucofig | allyesconfig | allnoconfig
      
      • 1
      • 2
      • 使用当前系统内核配置

        # cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/.config
        
        • 1
      • 查看CPU

        # lscpu
        
        • 1
      • 编译

        # make-j2 all
        
        • 1
      • 安装内核

      # make modules_install
      # make install
      
      • 1
      • 2

    十、grub引导程序

    1、grub 配置文件
    • /etc/default/grub
    • /etc/grub.d/
    • /boot/grub2/grub.cfg
    • grub2-mkconfig -o /boot/grub2/grub.cfg

    十一、进程管理

    1、进程的概念
    • 进程——运行中的程序,从程序开始运行到终止的整个生命周期是可管理的
      • C程序的启动是从main函数开始的
        • int main(int agrc, char*argv[])
        • 终止的方式并不唯一,分为正常终止和异常终止
          • 正常终止也分为从main返回、调用exit等方式
          • 异常终止分为调用abort、接受信号等
    2、进程的查看命令
    • 查看命令

      # ps
      # pstree
      # top
      
      • 1
      • 2
      • 3
    • 结论

      • 进程也是树形结构
      • 进程和权限有着密不可分的关系
    3、进程的优先级调整
    • 调整优先级

    • nice 范围从-20到19,值越小优先级越高,抢占资源就越多

    • renice 重新设置优先级

    • 进程的作业控制

      • jobs

        # jobs //查看所有作业
        # ./a.sh &  //将程序挂载在后台
        # fg 1  //fg 作业号,将后台作业调转至前台
        # ctrl +z //将作业展示停止,但不销毁进程
        # bg 1  //bg 作业号,将作业调度启动至后台
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • & 符号 //将进程挂在后台执行

    4、进程间通信
    • 信号是进程间通信方式之一,典型用法是:终端用户输入中断命令,通过信号机制停止一个程序的运行。
    • 使用信号的常用快捷键和命令
      • kill -l
        • SIGINT 通知前台进程组终止进程 ctrl + c
        • SIGKILL 立即结束程序,不能被阻塞和处理 kill -9 pid
    5、守护进程
    • 使用 nohup 与 & 符号配合运行一个目录
      • nphup 命令使进程忽略 hangup (挂起)信号
    • 使用 screen 命令
      • screen 进入 screen 环境
      • ctrl +a d 退出(detached)screen 环境
      • screen -ls 查看 screen 的会话
      • screen -r sessionid 恢复会话
  • 相关阅读:
    java解析生成定时Cron表达式工具类
    Pycharm里如何设置多Python文件并行运行
    python冒泡排序,非常细节
    VMware虚拟机三种网络模式
    文件和IO流
    物联网开发笔记(49)- 使用Micropython开发ESP32开发板之控制RGB全彩LED模块
    交换机和路由器技术-19-HSRP和PVSTP综合实验
    09 nginx 中 upstream max_conns 配置为 1, 导致的一部分静态资源请求成功, 一部分静态资源请求失败
    关于环境保护html网页设计完整版,5个以环境为主题的网页设计与实现
    500-1000人的科技企业怎么做10多套业务系统和员工的统一认证管理?
  • 原文地址:https://blog.csdn.net/u012310622/article/details/126857271