Linux 命令总结

1、系统命令

1. shutdown -h now:  关闭系统(1)
2. init 0:  关闭系统(2)
3. telinit 0: 关闭系统(3)
4. shutdown -h hours:minutes:  按预定时间关闭系统
5. shutdown -c: 取消按预定时间关闭系统
6. shutdown -r now: 重启(1)
7. reboot:  重启(2)
8. service network restart:  重启(3)
9. logout:  注销
10. sync:  在关机之前保存内容
11. whereis 文件:   查看软件下载的位置
12. ifconfig:  查看本机的网卡信息
13. exit:执行退出
14. su username:切换用户
15. clear:清屏
16. lsof –i:端口号:查看某个端口是否存在
17. echo 内容 > 文件:把指定内容写入到文件中
18. echo "替换后新的内容" >> 文件:替换
19. free -m:查看服务器的内存大小
20. cal:显示日历
21. cal 年份:显示该年的日历
22. echo $path:查看环境变量
23. history:查看用过的指令
24. history 10:查看用过的10个指令
25. !数字:在history查出指令后,执行历史编号为多少的指令
26. date "+%Y-%m-%d":查看年月日信息
27. date "+%Y-%m-%d %H:%M:%S":查看年月日时分秒信
28. date -s "时间":修改系统时间
29. firewall-cmd --permanent --zone=public --add-port=端口号/tcp:开放端口
30. systemctl stop firewalld / systemctl disable firewalld:关闭/删除防火墙
31. systemctl restart firewalld:启动端口

2、文件操作

1. ll:显示当前目录下的文件夹
2. ls:横着显示文件夹里的文件
3. ls -l:竖着显示文件夹里的文件
4. ls -al:竖着显示并且带有隐藏文件
5. whoami:查看当前本机用户名
1. pwd:查看目录/文件当前路径
1. 创建目录: mkdir 目录
2. 创建多级目录: mkdir -p 目录1/目录2/目录3/....
3. 删除目录: rmdir 目录名
4. 强制删除目录: rm -rf 目录
5. 创建txt格式的文件: touch 文件名.txt .....  --- 一次性可创建多个文件
6. 复制文件: cp -a 文件名 相对路径or绝对路径
7. 把原目录复制到新目录: cp -r 原目录  新目录 --- 如果存在就强制覆盖
8. 删除文件或者目录: rm 文件 / 目录
9. 重命名: mv 原文件名  新文件名
10-0. 移动目录到某个位置: mv 文件名 /路径
10-1. 把当前目录下的所有目录文件移动到指定路径下:mv * /路径
11. 查看文件内容<.txt>: cat 文件
12. 显示行号查看文件内容: cat -n 文件名
13. 分页查看文件内容: cat -n 文件 | more
	-- 按空格键:下一页
	-- 按回车键:查看下一行
	-- 按q:退出分页模式
	-- Ctrl+F:向下滚动一屏
	-- Ctrl+8:返回上一屏
	-- =:输出当前行的行号
	-- :f: 输入文件名和当前行的行号
	-- 全凭的方式打开文件内容: more 文件
14. less 文件名: 与 more 相似,更好的是可以往前翻页
15. tail -n 文件名: 仅查看尾部,还可以指定行数
16. head -n 文件名: 仅查看头部,还可以指定行数
17. 向屏幕输出带空格的字符串: echo hello world
18. 查看文件里指定前多少行的内容: head -n 数字 文件
19. 查看文件里指定后多少行的内容: tail -n 数字 文件
20. 跟踪文件: tail -f 文件<.txt>格式
21. 压缩: gzip 文件
22. 解压: gunzip 文件.gz
23. 对该路径下所有文件压缩成(自己命名).zip: zip -r (自己命名).zip /路径 或者 /*
24. 把该压缩文件解压到指定路径: unzip -d 路径  已有的压缩文件(.zip格式)
25. 压缩文件: tar xzf 文件.gz.tar
26. tar -zcvf xxxx.tar.gz 文件1+空格+文件2..:把文件1和文件2甚至更多文件打包压缩为xxxx.tar.gz
27. tar -zcvf xxxx.tar.gz 路径/*:压缩该路径下的所有文件进行整体打包为 xxxx.tar.gz
28. tar -zxvf 已有的的解压文件.tar.gz:解压当前目录
29. tar -zxvf 已有的的解压文件.tar.gz -C  路径:把打包压缩的文件解压到该路径下
30. 查看文件有多少行:wc -l 文件名
31. 打包:tar cjf xxx.tar.gz 解压后存放的路径

3、文件搜索

1. find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
2. find / -user user1 搜索属于用户 'user1' 的文件和目录
3. find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
4. find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
5. find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
6. find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
7. find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
8. locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
9. whereis halt 显示一个二进制文件、源码或man的位置
10. which halt 显示一个二进制文件或可执行文件的完整路径

4、用户和组

1. groupadd group_name:创建一个新用户组
2. groupdel group_name: 删除一个用户组
3. groupmod -n new_group_name old_group_name: 重命名一个用户组
4. useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1: 创建一个属于 "admin" 用户组的用户
5. useradd user1: 创建一个新用户
6. userdel -r user1: 删除一个用户 ( '-r' 排除主目录)
7. usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1: 修改用户属性
8. passwd: 修改口令
9. passwd user1: 修改一个用户的口令 (只允许root执行)
10. chage -E 2005-12-31 user1: 设置用户口令的失效期限
11. pwck: 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
12. grpck: 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
13. newgrp group_name: 登陆进一个新的群组以改变新创建文件的预设群组
14. id user:查询用户信息

4、文件的权限

1. ls -lh 显示权限
2. ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
3. chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
4. chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
5. chown user1 file1 改变一个文件的所有人属性
6. chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
7. chgrp group1 file1 改变文件的群组
8. chown user1:group1 file1 改变一个文件的所有人和群组属性
9. find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
10. chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
11. chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
12. chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
13. chmod g-s /home/public 禁用一个目录的 SGID 位
14. chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
15. chmod o-t /home/public 禁用一个目录的 STIKY 位
# r=读、w=写、x=执行:字符权限表示方法
# r=4、w=2、x=1:数字权限表示方法
16. chmod +x 文件路径 为所有者、所属组和其他用户添加执行的权限
17. chmod -x 文件路径 为所有者、所属组和其他用户删除执行的权限
18. chmod u+x 文件路径 为所有者添加执行的权限
19. chmod g+x 文件路径 为所属组添加执行的权限
20. chmod o+x 文件路径 为其他用户添加执行的权限
21. chmod ug+x 文件路径 为所有者、所属组添加执行的权限
22. chmod =wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
23. chmod ug=wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限

5、文件类型

1. - : 表示普通文件
2. d : 表示目录
3. l : 表示软连接
4. c : 表示字符设备
5. l : 符号连接
6. f : 命名管道
7. s : 套接字文件
8. b : 块文件
9. rw : 表示文件所有者拥有的权限,有读写的权限
10. r-- : 文件所在组,root组
11. 后面r-- : 表示文件其他组的用户权限
12. rwx: 表示有读写和执行的权限

6、文件的特殊属性

1. chattr +a file1 只允许以追加方式读写文件
2. chattr +c file1 允许这个文件能被内核自动压缩/解压
3. chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
4. chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
5. chattr +s file1 允许一个文件被安全地删除
6. chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
7. chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
8. lsattr 显示特殊的属性

7、vi和vim

就是一个文本编译器,而vim是vi的增强版

1. 正常模式
2. 命令模式
  - 退出保存:ZZ
  - 代码格式化:gg=G(即连续按2个g,再按=,再按G)
  - 上、下、左、右:方向键或者k、j、h、l
  - 跳到文件头部:gg
  - 跳到文件尾部:G
  - 跳到某行行尾:$
  - 跳转到某行开头:行号+G(比如跳到200行开头->200G)
  - 跳转到某行末尾:行号+$(比如跳到200行末尾->200$)
  - 向下移动n行:行号+回车
  - 撤销:u
  - 反撤销:ctrl+r
  - 删除光标后面的字符:x
  - 删除光标前面的字符:X
  - 删除一个单词:dw(注意保证光标在单词的最前面,不然只能删除光标后面的部分)
  - 删除当前行光标前面部分:d0
  - 删除当前行光标后面部分:D或者d$
  - 删除当前行(整行):dd
  - 删除多行:ndd(如10dd,即从当前位置起,往下删除10行(包括当前行)
  - 删除当前位置后面的所有内容:dG(包括当前行)
  - 删除当前位置前面的所有内容:dgg(包括当前行)
  - 复制当前行:yy
  - 粘贴复制内容:p(当前行下一行);P(当前行上一行)
  - 复制多行:nyy(如3yy,即从当前位置起,往下复制3行(包括当前行)
  - 替换当前字符(单个):输入r,然后在输入要替换的字符
  - 替换当前字符(多个):输入R,然后在输入要替换的字符
3. 进入编辑模式
  - a:从光标后面开始插入
  - A:会跳到行尾并从光标后面开始插入
  - i:从光标前面开始插入
  - I:会跳到行首并从光标前面开始插入
  - o:会在光标下一行新建空白行插入
  - O:会在光标上一行新建空白行插入
  - s:删除光标盖住的字符开始插入
  - S:删除光标所在行后开始插入
  - 按Esc键:回到命令模式
  - set nu:添加行号
  - set nonu:取消行号
  - 查找内容::/+你要查的内容
  - s/old/new:如:s/exit/quit,将exit替换为quit(只替换当前行第一处)
  - s/old/new/g:文本替换(替换当前行全局)
  - 10-20s/old/new/g:范围行内替换
  - %s/old/new/g:当前文件内进行替换

8、帮助命令

1. man ls:帮助命令
2. help cd:查看内部命令
3. ls --help:查看外部命令
4. info:查看外部命令

9、进程

ps:查看当前终端下的进程状态
ps -ef|grep 软件名:查看当前某个进程
netstat -lntp:查看端口
ps -e|more:查看不同的终端
ps -ef|grep 线程名:显示某个线程的信息
top:查询进程信息和系统信息
kill -9 pid:杀死进程

10、RPM 包

1. rpm -ivh package.rpm 安装一个rpm包
2. rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
3. rpm -U package.rpm 更新一个rpm包但不改变其配置文件
4. rpm -F package.rpm 更新一个确定已经安装的rpm包
5. rpm -e package_name.rpm 删除一个rpm包
6. rpm -qa 显示系统中所有已经安装的rpm包
7. rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
8. rpm -qi package_name 获取一个已安装包的特殊信息
9. rpm -qg "System Environment/Daemons" 显示一个组件的rpm包
10. rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
11. rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
12. rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
13. rpm -q package_name --whatprovides 显示一个rpm包所占的体积
14. rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
15. rpm -q package_name --changelog 显示一个rpm包的修改历史
16. rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
17. rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
18. rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
19. rpm --checksig package.rpm 确认一个rpm包的完整性
20. rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
21. rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
22. rpm -Va 检查系统中所有已安装的rpm包- 小心使用
23. rpm -Vp package.rpm 确认一个rpm包还未安装
24. rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
25. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
26. rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

11、YUM 软件包升级器

1. yum install package_name 下载并安装一个rpm包
2. yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
3. yum update package_name.rpm 更新当前系统中所有安装的rpm包
4. yum update package_name 更新一个rpm包
5. yum remove package_name 删除一个rpm包
6. yum list 列出当前系统中安装的所有包
7. yum search package_name 在rpm仓库中搜寻软件包
8. yum clean packages 清理rpm缓存删除下载的包
9. yum clean headers 删除所有头文件
10. yum clean all 删除所有缓存的包和头文件

12、文本处理

1. cat file1 file2 ...:查看文件内容
2. grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
3. grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇
4. grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行
5. grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"
6. sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
7. sed '/^$/d' example.txt 从example.txt文件中删除所有空白行
8. sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行
9. echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容
10. sed -e '1d' result.txt 从文件example.txt 中排除第一行
11. sed -n '/stringa1/p' 查看只包含词汇 "string1"的行
12. sed -e 's/ *$//' example.txt 删除每一行最后的空白字符
13. sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部
14. sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容
15. sed -n '5p;5q' example.txt 查看第5行
16. sed -e 's/00*/0/g' example.txt 用单个零替换多个零
17. cat -n file1 标示文件的行数
18. cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行
19. echo a b c | awk '{print $1}' 查看一行第一栏
20. echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏
21. paste file1 file2 合并两个文件或两栏的内容
22. paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分
23. sort file1 file2 排序两个文件的内容
24. sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
25. sort file1 file2 | uniq -u 删除交集,留下其他的行
26. sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
27. comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
28. comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
29. comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分
30. cat sentinel.conf |grep -v "#" | grep -v "^$" >> redis-sentinel-26379.conf
grep -v "#" filebeat.yml | grep -v "^$":把原本的文件去掉注释,并且复制到新的文件中
31. sed 's/6379/6383/g' redis-6379.conf > redis-6383.conf:把该文件的某些内容替换后克隆一份到新的文件中

13、内存

free:查看内存使用率
free -m:以多少兆的方式显示
free -g:以多少T的方式显示

14、系统定时任务

启动

systemctl start crond.service

语法

选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
-u 设置某个用户的任务
-i 打印提示
crontab [参数]

执行任务

项目 含义 范围
第一个 "*" 一个小时中的第几分钟 0-59
第二个 "*" 一天中的第几个小时 0-23
第三个 "*" 一个月当中的第几天 1-31
第四个 "*" 一年当中的第几月 1-12
第五个 "*" 一周当中的星期几 0-7

特殊符号

特殊符号 含义
* 代表任意时间都会执行一次
, 代表不连续的时间,比如 "0 8,12,16 * * *",代表每天的8:00,12:00,16:00
- 代表连续的时间,比如 "0 5 * *",范围1-6,表示周一到周六的凌晨5:00
*/n 每个多少分钟执行一次

15、base64 解密

echo "加密后字符串" | base64 -d
posted @ 2021-06-12 00:50  q-linyu  阅读(100)  评论(0)    收藏  举报