Linux常用命令汇总

Linux常用命令汇总

1、用户相关

  • 创建用户:useradd[-d 目录]+用户名 //[在指定目录下]创建用户,默认/home

  • 修改密码:passwd +用户名 //修改指定用户名密码

  • 删除用户:userdel[-r 目录]+用户名//删除[家目录及]用户

  • 查询用户id及分组:id+用户名 //显示uid、gid及组

  • 切换用户:su - 用户名 //权限低切至高需要输入密码
    返回原来用户:exit/logout

  • 查询当前登录用户:whoami/who -u //显示登入系统时的用户名及登录时间

  • 用户组:

    1. 新增组:groupadd+组名
    2. 删除组:groupdel+组名
    3. 增加用户时上组:useradd -g+用户组 用户名
    4. 修改用户组:usermod -g+用户组 用户名

2、运行级别

常用: 0(重启)3(多用户联网)5(图形界面)6(重启)

  • 切换运行级别:init+0~6
  • 查看当前运行级别:systemctl get-default

3、帮助

  • 查看指令信息:man/help+指令名

4、文件目录

  • 查看当前位置的绝对目录:pwd
  • 查看当前目录包含的文件:ls,以列表形式展示ls -l/ll/ls -lh
  • 目录跳转:cd+目录//进入目录 cd ..返回上级目录cd ~返回家目录
  • 创建目录:mkdir [-p]+目录名//创建(多级)目录
    删除目录:rm -rf+目录名 删除空目录:rmdir+空目录名
  • 创建空文件:touch/vim+文件名
  • 拷贝文件:cp [-r]+文件路径 目标目录 //拷贝文件(目录)到指定目录
  • 移动文件:mv文件路径 目标目录 //若源文件与目标文件在同一目录则为重命名
  • 查看文件内容:cat [-n]/more/less(常用于大文件)+文件路径 //(带行号)显示文件内容
    查看内核版本:cat /proc/version 查看系统发行版本:cat /etc/redhat-release
  • 输出内容到控制台:echo+文件名
    显示文件开头:head [-n 行数/-f(实时监控)]+文件名//显示文件前10行(头n行)
    显示文件末尾:tail [-n 行数/-f(实时监控)]+文件名//显示文件后10行(后n行)
  • 重定向:>/>>覆盖/追加,如:ll >/>>文件//将文件列表覆盖文件/续写在文件后
  • 软链接:ln -s+原文件 软链接名//为原文件创建软链接(通过软链接能够访问原文件)
    删除软链接:rm+软链接目录
  • 查看历史命令:history[+数字]//显示(最近[数字]条)历史命令
    执行编号为n的历史命令:!n

5、时间日期

  • 显示日期:date [+"%Y-%m-%d %H:%M:%S"]
  • 修改日期:date -s 字符串时间如:date -s "2021-3-16 22:40:30"
  • 显示日历:cal [年份]显示当月(指定年份)日历
  • 修改用户时区:tzselect通过向导找到所在时区并通过export TZ='Asia/Shanghai'保存在用户的home目录下,重启或执行source ~/.bashrc刷新后生效
    修改系统时区:sudo timedatectl set-timezone 'Asia/Shanghai'

6、搜索查找

  • 查找文件/目录:
    • find [目录] [-name/user/size(+大于 -小于 n等于,单位:K/M/G)]+文件名/目录 如:find 目录 -name 'firefox'
    • 通过数据库查找:updatedb//确保文件创建后更新数据库 locate+文件名
    • 查找指令所在目录:which+指令
  • 过滤查找:| grep [-n(显示行号)/-i(忽略字母大小写)]+"内容",其中|表示将前一个指令的结果交由后一个指令处理,也可以直接grep [-n(显示行号)/-i(忽略字母大小写)]+"内容" 源文件

7、压缩与解压

  • 不保留源文件:
    • 压缩为.gz:gzip+文件
      解压gzip:gunzip+文件.gz
    • 压缩为.zip:zip [-r(压缩目录)]+XXX.zip 原文件
      解压zip:unzip [-d(解压到目录) <目录>]+XXX.zip
  • 保留原文件:
    • 压缩为.tar.gz:tar [-c(压缩)/-v(显示详细信息)/-f(指定压缩后文件名)/-z(打包同时压缩)/-x(解压)]+XXX.tar.gz 原文件1 原文件2 ……
      示例:(1)压缩文件:tar -zcvf a.tar.gz 原文件1 原文件2
                 (2)解压文件到目录:tar -zxvf a.tar.gz -C 目标目录

8、权限

-rwxrw-r--:0~9 共10位,第0位表示文件类型(l:链接/快捷方式 d:目录 c:设备 b:硬盘 -:文件)
其余每三位分别表示文件所有者权限、同用户组拥有该文件的权限、其他用户拥有该文件的权限
其中r:可读 w:可写 x:可执行

  • 修改文件使用权限:+:增加(4)、-移除(2)、=赋予(1)
    • 方式一:chmod u/g/o/a(user/group/other/all 不同组别用,隔开)+文件 如:chmod u-x,g+w,o=rw 文件名
    • 方式二:通过加权值chmod 各组别权值+文件 如:chmod 751 文件名
  • 修改文件所有者:chown [-R] newowner+文件/(目录)
    修改所有者和所在组:chown [-R] newowner:newgroup+文件/(目录)
    修改所在组:chgrp [-R] newgroup+文件/(目录)

9、进程

定义:运行中的程序或被载入内存中的程序

进程状态(STAT):S-睡眠/s-会话先导进程/N-低于普通进程优先级/R-正在运行/D-短期等待/Z-僵死进程/T-被跟踪或被停止等待

  • 查看所有进程:ps [-a(所有)/-u(以用户格式显示)/-x(显示后台进程运行参数)] {|grep 关键字} 常组合使用:ps -aux | grep 关键字
  • 查看运行中的进程及父进程:ps [-e(所有)/-f(全格式)] {|grep 关键字} 常组合使用:ps -ef | grep 关键字
  • 终止进程:
    • kill [-9(强制终止)]+进程号
    • killall+进程名,杀死该进程的所有子进程
  • 查看进程树:pstree [-p(显示进程号)/-u(显示所属用户)]
  • 动态查看进程:top [-d 秒数(每隔几秒刷新)/-i(不显示闲置或僵死进程)/-p 进程号(监控指定进程状态)]
    交互选项:P(cpu使用率排序,默认)/M(内存使用率排序)/N(pid排序)/q(退出)

10、服务

定义:运行在后台的进程,通常会监听某个端口,等待其他程序的请求,又称守护进程

  • 管理方式一:service 服务名 [start/stop/restart/reload/status]
  • 为各运行级别设置自启动服务:查看chkconfig --list [| grep XXX]
    修改chkconfig --level n(0~6) 服务名 on/off
  • 管理方式二:systemctl [start/stop/restart/reload/status]
    • 查看服务开机启动状态:systemctl list-unit-files [| grep 服务名]
    • 查询服务是否自启动:systemctl is-enabled 服务名
    • 开启/关闭服务开机启动:systemctl enable/disable 服务名

11、网络状态

  • 查看网络状态:netstat [-an(按协议顺序显示)/-p(显示哪个进程在调用)]
    查看当前系统中开放的端口:netstat -anptu
  • 测试网络是否连通:ping+网址
  • 查看哪个程序正在使用指定端口:lsof -i:端口号

12、rpm/yum包管理

rpm:redhat package management
yum:基于rpm的shell前端软件包管理器,类似pip

  • rpm管理:
    • 查询已安装的rpm列表:rpm -qa/-ql(软件包含哪些文件) [| grep xx]
    • 删除rpm包:rpm -e [--nodeps(强制删除)] 软件名
    • 安装rpm包:rpm -ivh 包路径
  • yum管理:
    • 查看指定软件:yum list|grep xx
    • 安装指定软件:yum install xxx
原文地址:https://www.cnblogs.com/silentor/p/14753199.html