Linux常用命令
Linux账号管理
添加用户
1 | useradd 选项 用户名 |
切换用户
1 | su 用户名 |
用户口令
1 | passwd 选项 用户名 |
修改用户
1 | usermod 选项 用户名 |
删除用户
1 | userdel 选项 用户名 |
显示用户
1 | logname |
查看当前用户的详细信息(用户id,群组id,所属组)
1 | id 用户名 |
提高普通用户的操作权限
1 | sudo 参数选项 |
Linux用户组
创建用户组
1 | groupadd 选项 用户组名 |
修改用户组
1 | groupmod 选项 用户组名 |
查询所属用户组
1 | groups 用户名 |
删除用户组
1 | groupdel 用户组名 |
将用户添加到组
1 | gpasswd -a 组名 |
将用户从组中删除
1 | gpasswd -d 组名 |
查看用户组下所有用户
1 | grep '组名' /etc/group |
日期管理
1 | date 参数选项 |
进程命令
实时显示所有的进程信息
1 | top |
实时显示所有的进程信息(显示完整命令)
1 | top -c |
实时显示指定进程的信息
1 | top -p PID |
查看进程信息(部分)
1 | ps -A |
显示指定用户进程
1 | ps -u |
显示所有进程信息(完整)
1 | ps -ef |
杀死指定进程
1 | kill 进程PID |
彻底杀死指定进程
1 | kill -9 进程PID |
杀死指定用户的所有进程
1 | kill -9 (ps -ef | grep 用户名) |
1 | killall -u 用户名 |
关机重启命令
立刻关机
1 | shutdown -h now |
一分钟之后关机,并出现警告信息
1 | shutdown +1 "警告信息" |
一分钟之后重启,并出现警告信息
1 | shutdown -r +1 "警告信息" |
取消当前关机操作
1 | shutdown -c |
立刻重启命令
1 | reboot |
who命令
显示当前登录系统的用户
1 | who |
显示明细(标题)信息
1 | who -H |
timedatectl命令
校正服务器时间、时区
1 | timedatectl status |
查看所有可用的时区
1 | timedatectl list-timezones |
设置本地时区
1 | timedatectl set-timezone "Asia/Shanghai“ 设置本地时区 |
禁用时间同步
1 | timedatectl set-ntp false |
启动时间同步
1 | imedatectl set-ntp true |
设置时间
1 | timedatectl set-time “2019-03-11 20:45:00“ |
目录管理
显示不隐藏的文件与文件夹
1 | ls |
显示不隐藏的文件与文件夹的详细信息
1 | ls -l |
显示所有文件与文件夹的详细信息
1 | ls -al |
查看当前所在目录
1 | pwd -P |
切换目录
1 | cd |
创建目录
1 | mkdir 文件夹名 |
创建多级目录
1 | mkdir -p aaa/bbb |
删除目录
1 | rmdir 文件夹名 |
删除ccc,如果删完之后bbb也是空的,bbb也一起删除
1 | rmdir -p bbb/ccc |
删除文件
1 | rm 文件路径 |
删除目录和目录里面所有的内容
1 | rm -r 目录路径 |
将aaa文件夹中的a.txt文件拷贝到ccc文件夹中
1 | cp aaa/a.txt ccc |
将aaa文件夹中所有内容拷贝到ccc文件夹中
1 | cp -r aaa/* ccc |
改名、移动
1 | mv 数据源 目的地 |
Linux文件基本属性
更改属组(将aaa的属组改为root)
1 | chgrp -v root aaa |
将aaa的属主改为root
1 | chown root aaa |
将bbb的属主和属组改为root
1 | chown root:root bbb |
将aaa文件夹和里面所有的属主和属组改为root
1 | chown -R root:root aaa |
符号权限
1 | chmod 参数选项 符号权限 文件或目录 |
touch命令-如果文件不存在就创建文件,如果存在就更新时间属性
1 | touch a.txt |
批量创建空文件
1 | touch a[1_10].txt |
查看文件的详细信息
1 | stat a.txt |
查看文件
1 | cat 文件名 |
查看文件(显示行号)
1 | cat -n 文件名 |
查看大文件
1 | less 文件名 |
查看大文件(显示行号)
1 | less -N 文件名 |
显示文件的最后3行(查看日志)
1 | tail -3 文件名 |
动态显示最后10行
1 | tail -f 文件名 |
动态显示最后4行
1 | tail -4f 文件名 |
显示文件的内容,从第二行至文件末尾
1 | tail -n+2 文件名 |
把包含关键字的行展示出来
1 | grep 关键字 文件名 |
把包含关键字的行展示出来切加上行号
1 | grep -n 关键字 文件名 |
把包含关键字的行展示出来,搜索时忽略大小写
1 | grep -i 关键字 文件名 |
把不包含关键字的行展示出来
1 | grep -v 关键字 文件名 |
查找指定的进程信息,包含grep进程
1 | ps-ef | gerp 关键字 |
查找指定的进程信息,不包含grep进程
1 | ps-ef | gerp 关键字 | grep -v "grep" |
查找进程个数
1 | ps-ef | grep -c sshd |
查看文件时光标位置位于第十行
1 | vim 文件名 +10 |
展示文本
1 | echo 字符串 |
将字符串写到文件中(覆盖文件中的内容)
1 | echo 字符串 > 文件名 |
将字符串写到文件中(不覆盖文件中的内容)
1 | echo 字符串 >> 文件名 |
将命令的失败结果追加 error.log文件的后面
1 | cat 不存在的目录 &>> error.log |
创建软连接(快捷方式)
1 | ln -s 需要指定的路径 快捷方式 |
Find查找文件
将目前及其子目录下所有的.txt文件查询出来
1 | find . -name "*.txt" |
将目前及其子目录下最近一天内更新过的文件查询出来
1 | find . -ctime -1 |
Linux备份压缩
压缩文件
1 | gizp 文件名 |
压缩当前目录下所有文件
1 | gzip* |
压缩文件并列出详细信息
1 | gzip -clv* |
解压文件
1 | gunzip 文件名 |
tar 命令
打包压缩
1 | tar -czvf 压缩文件名 文件名/文件夹名 压缩文件或者文件夹并指定压缩文件名 |
解压
1 | tar -zxvf 压缩文件名 |
查看压缩文件中有哪些文件(查看)
1 | tar -ztvf 压缩文件名 |
打包压缩-压缩文件或者文件夹并指定压缩文件名
1 | tar -zcvf 压缩文件名 文件名/文件夹名 |
仅打包不压缩-打包文件并指定打包之后的文件名
1 | tar -cvf 打包文件名 文件名 |
zip命令
压缩
1 | zip -q -r 压缩文件名 文件/文件夹 |
unzip命令
查看这个压缩文件中有多少内容
1 | unzip -l 压缩文件名 |
解压
1 | unzip -d 指定文件夹 压缩文件 |
bzip2命令
压缩
- 注意:使用新的压缩算法,压缩后的文件比原来的要小,但是花费时间边长。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
1 | bzip2 a.txt |
解压并显示详细信息
1 | bunzip2 -v a.bz2 |
netstat命令
显示详细的连接状况
1 | netstat -a |
显示网卡列表
1 | netstat -i |
lsblk命令
列出硬盘的使用情况
1 | lsblk |
显示系统信息
1 | lsblk -f |
shell编程
注释-单行注释
1 | 注释的内容 |
多行注释
1 | :<<! |
变量的三种定义格式
1 | number=10 |
命令变量-两种方式
- 先执行命令,然后将命令执行的结果赋值给变量
1 | 方式一: |
使用变量-四种方法
1 | 方式一: |
只读变量
1 | readonly 变量名 |
删除变量
1 | unset 变量名 |