linux常用命令总结-updating


Linux 命令总结

启动终端: ctr+alt+t
终端字体放大: ctr+shift+'+',终端字体缩小: ctr+'-'
ls: 查看当前目录下的文件信息
pwd: 查看目录所在的路径
touch: 创建文件
mkdir: 创建文件夹
rmdir: 删除文件夹,提示:只能是空文件夹
rm: 默认删除的是文件,如果删除文件夹需要加上-r选项,-r:以递归的方式把文件夹下的所有文件信息删除掉

cd:切换目录

9.1 cd 目录名 : 切换到指定目录
9.2 cd .: 切换到当前目录
9.3 cd ..: 切换到上一级目录
9.4 cd ~: 切换到当前用户的目录
9.5 cd: 等价与cd ~ 切换到当前用户的目录
9.6 cd -: 切换到上一次目录

绝对路径: 从根目录算起的路径叫做绝对路径,比如: /home/python

相对路径: 从当前目录算起的路径叫做相对路径, 比如: ./AAA ../BBB
路径的使用总结: 如果离当前目录近使用相对路径,如果离根目录近使用绝对路径,如果进入的是中间目录建议使用绝对路径
自动补全: 两次tab键

cp: 拷贝

14.1 cp 文件名 路径: 把文件拷贝到指定路径
14.2 cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径
14.3 cp 文件名 路径/新的文件名 : 先把文件拷贝到指定目录然后再重命名
14.4 cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去

mv: 移动(剪切)

15.1 mv 文件名 路径: 把文件移动到指定路径
15.2 mv 路径/文件名 路径: 把指定路径的文件移动到指定路径
15.3 mv 文件名 新的文件名: 重命名
15.4 mv 文件夹 路径: 把文件夹移动到指定目录,不需要加上-r

tree: 以目录树方式显示当前文件夹信息
16.1 tree / : 以目录树方式显示指定路径的文件信息

命令的格式

17.1 命令名 选项 参数, 提示:有些命令选项可以放到参数的后面,但是:scp 选项必须要放到命令名的后面

ls 选项

21.1 -l: 以列表的方式取显示
21.2 -a: 显示隐藏文件
21.3 -h: 显示文件大小的单位
21.4 ll: ls -al 显示隐藏文件并且以列表方式显示 , l->ls

mkdir 选项
22.1 -p: 把依赖文件夹提取创建好,比如: mkdir 123/456/789 -p

rm选项

23.1 -r: 以递归的方式删除文件夹里面的所有内容
23.2 -i: 显示删除的时候提醒信息
23.3 -v: 显示删除后的描述信息
23.4 -d: 删除空目录
23.5 -f: 如果文件或者目录存在则删除,否则就不删除也不会报错

cp选项

24.1 -i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息
24.2 -v:显示拷贝文件的路径描述
24.3 -r:以递归的方式拷贝文件夹里面的所有内容

mv选项

25.1 -i:移动文件显示提醒信息
25.2 -v:显示移动后的路径描述

重定向(>,>>): 在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了

26.1 > :如果文件不存在,那么先创建,否则会先把原有文件的数据清空然后再写入
26.2 >> : 在原有数据的基础上进行追加
26.3 总结: ls, cat, tree都可以使用重定向

gedit:文本编辑工具,可读可编辑

cat: 内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)

more:分屏显示

29.1 f:表示下一页
29.2 空格:表示下一页
29.3 回车: 表示下一行
29.4 b:表示上一页
29.5 q:退出

文件合并

cat 1.txt 2.txt > 3.txt

管道: 可以理解成是一个容器,存放在终端显示的内容

28.1 总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的

链接
29.1 软连接:可以理解成快捷方式,把原文件删除掉通过软链接无法打文件的数据, 提示:创建软连接不会对硬链接数加1
29.2 硬连接: 同一个数据有多个文件名在使用,某个文件删除掉,还可以通过其它文件名访问这个文件的数据, 提示:创建硬链接硬链接数会加1
29.3 提示:如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接

grep: 根据指定的内容在文件中进行查找

30.1 grep "a" 8.txt : 根据指定内容在文件中进行查找
30.2 -n:行号, -i:忽略大小写 -v: 取反
30.3 总结: ^,$ [], . 支持的正则表达式

find:在指定目录查找对应的文件

31.1 find . -name ".txt": 在当前目录查找后缀是.txt的文件, -name根据文件名查找
31.3 find . -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找
31.3 总结: ? [] 支持的通配符

ls:支持的通配符: _,? , [], []:表示匹配任意列举中的一个字符

通配符: ? _ [],起到了模糊查询的作用

tar: 打包、压缩、解包、解压缩

34.1 打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:显示文件打到包里面 -f:表示文档名称,提示-f必须放到所有选项的后面
34.2 解包 tar -xvf test.tar , -x:表示解包
34.3 打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt
34.4 解压缩及解包合并的命令:tar -zxvf test.tar.gz ->得到对应的文件
34.5 指定解压缩的路径 tar -zxvf test.tar.gz -C ../BBB, -C:指定解压缩后的路径
34.6 tar -jcvf test.bz2 *.txt -> test.bz2
34.7 tar -jxvf test.bz2 -> 得到对应的文件
34.8 -C: 指定解压缩的路径: tar -jxvf test.bz2 -C ../BBB

zip的压缩及解压缩

35.1 zip test *.txt -> test.zip ,提示:压缩包的后缀不需要指定默认是.zip
35.2 unzip test.zip -> 得到是压缩包里面的文件
35.3 unzip -d ./123 test.zip -> 解压到指定路径 , -d:表示解压的路径

chmod:修改权限

36.1 -r(4):可读 -w(2):可写 -x(1):可执行
36.2 u:当前用户 g: 同组用户 o: 其它用户 a:所有用户
36.3 +:添加权限, -:撤销权限 , = : 赋值权限
36.4 chmod 000 1.txt : 全部没有权限
36.5 chmod a=- 1.txt chmod a= 1.txt : 全部没有权限
36.6 chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行
36.7 chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限

cp选项

37.1-a: 保留文件原有权限,-a包含-r,也就是使用-a也可以拷贝文件夹

which : 查看命令的路径

sudo -s: 切换到管理员账号
passwd:修改密码
who :当前那些用户登陆
whoami:当前电脑登陆的用户是谁
exit:退出
ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

scp: 远程拷贝

45.1 scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端
45.2 scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端
45.3 scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地
46.4 scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

apt list 支持的安装包

vim的使用

47.1 命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

vim常用命令

48.1. i: 进入编辑模式
48.2. yy: 复制光标所在行 复制多行: 数字+yy
48.3. p: 粘贴, 粘贴多次: 数字+p
48.4. dd(删除、剪切), 剪切或者删除多行:数字+dd
48.5. V: 选中多行
48.6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
48.7. x: 从前往后删除一个字母
48.8. X: 从后往前删除一个字母
48.9. u: 撤销
48.10. shift + >: 往右缩进
48.11. shift + <: 往左缩进
48.12. .:重复上一次操作
48.13. G: 回到最后一行
48.14. gg: 回到第一行 1G
48.15. 18G: 回到指定行
48.16. shift + 4:回到行末
48.17. shift + 6:回到行首
48.18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
48.19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
48.20. ctr+f: 下一页
48.21. ctr+b: 上一页
48.22. :wq, :x: 保存退出

1. 问题

vim在编辑文件时,按了Ctrl+S后怎么都不动了。只能关闭SSH窗口。

2. 原因

Ctrl+S :在Linux 下是锁定屏幕的快捷键

3. 解决

Ctrl+Q :解锁屏幕 
Ctrl+ S :锁定屏幕

linux各种查看命令

telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080

top:查看进程及cpu使用率
htop:任务管理器
lsof -i:8080: 查看此端口占用信息
ps aux: 查看所有进程
ps aux | grep "mysql" : 查询mysql在进程中的信息

netstat -anp | grep service_name : 查看某个服务的端口等信息

  netstat -a # 列出 tcp, udp 和 unix 协议下所有套接字的所有连接

  netstat -at # 只列出tcp

  netstat -au # 只列出udp

  netstat -atn # 禁用域名解析功能

  netstat -tnl  # 正在监听中的连接

   -p # 选项查看进程信息

  netstat -s # 打印网络统计数据

    -r # 打印内核路由数据

    -i # 打印网络接口信息

    -ei # 友好的显示网络接口信息

    -c # 持续输出信息

     -g # 会输出 IPv4 和 IPv6 的多播组信息

linux通过 ln -s 建立启动软连接,开机自启服务脚本

在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录

Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策

这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务

由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务

K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行

因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可

[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动

如果需要在多个运行级别下设置自启动,则需建立多个软链接

这种方式比较繁琐,适用于自定义的服务脚本

如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的方式

第二种方式:chkconfig

如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off

在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项

上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别

Tips:--list选项可查看指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态

linux开放端口及查看 (firewalld防火墙)

sudo firewall-cmd --add-port=9200/tcp --permanent  # 开启对应端口

sudo firewall-cmd --reload  # 保存更改并重启

sudo firewall-cmd --query-port=9200/tcp  # 查看对应端口是否开启(yes/no)

firewall-config是firewalld防火墙的客户端可视化工具

linux发行版debian/Ubuntu( raspbian )常用命令

  1. sudo reboot   # 重启
  2. sudo halt     # 关机
  3. sudo rpi-update     #树莓派更新
  4. sudo apt-get update     #更新软件信息数据库 
  5. sudo apt-get upgrade     #进行系统升级 
  6. sudo raspi-config     #配置
  7. ifconfig     #显示联网信息,会返回有线网络和无线网络的MAC地址和IP地址状态
  8. sudo apt-get install xrdp     #WINDOWS的远程桌面连接树莓派服务
  9. sudo apt-get install 软件名1 软件名2 软件名3……     #安装软件 
  10. sudo apt-get remove 软件名1 软件名2 软件名3……        #卸载软件
  11. sudo apt-get remove –purge 软件名1     #卸载并清除配置
  12. sudo apt-cache search 软件名1 软件名2 软件名3……      #搜索软件包 
  13. sudo apt-get install chromium-browser  chromium-l10n     #安装chrome

Centos不能解析域名,DNS配置

ping www.baidu.com不通

在/etc/sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置
比如:DNS1=8.8.8.8
114.114.114.114和8.8.8.8,这两个DNS都很纯净,不用担心因ISP运营商导致的DNS劫持等问题,而且都是免费提供给用户使用的。
114.114.114.114是国内移动、电信和联通通用的DNS
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的

然后需要重启网卡:service network restart

当然我的设置都对,在以前虚拟机上这样设置后也能使用了。偏偏我的云服务器还是出错。
最后总于发现是named服务器压根就不存在,哎,真的是mini版的系统,很多软件都没装

解决:
yum install bind
chkconfig named on

fdisk磁盘扩容

参考: https://blog.csdn.net/namdlo/article/details/80884213

内存溢出OOM(测试)

日志解释:

  • total-vm:进程总共使用的虚拟内存;
  • anon-rss:虚拟内存实际占用的物理内存;
  • file-rss:虚拟内存实际占用的磁盘空间;
  • shmem-rss

参考:https://blog.csdn.net/hearbeat/article/details/82793258

   https://blog.csdn.net/dta0502/article/details/82016616

原文地址:https://www.cnblogs.com/lzc978/p/10099149.html