Linux常用命令汇总
1、用户相关
-
创建用户:
useradd[-d 目录]+用户名 //[在指定目录下]创建用户,默认/home -
修改密码:
passwd+用户名 //修改指定用户名密码 -
删除用户:
userdel[-r 目录]+用户名//删除[家目录及]用户 -
查询用户id及分组:
id+用户名 //显示uid、gid及组 -
切换用户:
su- 用户名 //权限低切至高需要输入密码
返回原来用户:exit/logout -
查询当前登录用户:
whoami/who -u//显示登入系统时的用户名及登录时间 -
用户组:
- 新增组:
groupadd+组名 - 删除组:
groupdel+组名 - 增加用户时上组:
useradd -g+用户组 用户名 - 修改用户组:
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
- 压缩为.gz:
- 保留原文件:
- 压缩为.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 目标目录
- 压缩为.tar.gz:
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 包路径
- 查询已安装的rpm列表:
- yum管理:
- 查看指定软件:
yum list|grep xx - 安装指定软件:
yum install xxx
- 查看指定软件: