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
- 查看指定软件: