目录
df
- df -h:查看每个根路径的分区大小
- df -hl:查看磁盘剩余空间

显示内容参数说明:
- Filesystem:文件系统
- Size: 分区大小
- Used: 已使用容量
- Avail: 还可以使用的容量
- Use%: 已用百分比
- Mounted on: 挂载点
netstat
- netstat -ntlp:查看服务器所有端口
查看服务器是否开放某端口
- tcp端口:>netstat -ntpl
- udp端口:>netstat -nupl
常用参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
ps
- ps aux: 将以简单列表的形式显示出进程信息

上图中的输出信息中,第1行为列表标题,其中各字段的含义描述如下:
- USER:启动该进程的用户账号名称
- PID:该进程的ID号,在当前系统中是唯一的
- %CPU:CPU占用的百分比
- %MEM:内存占用的百分比
- VSZ:占用虚拟内存(swap空间)的大小
- RSS:占用常驻内存(物理内存)的大小
- TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
- STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
- START:启动该进程的时间
- TIME:该进程占用CPU时间
- COMMAND:启动该进程的命令的名称
- ps aux | grep www:分组
- ps -elf 以长格式显示系统中的进程信息,包含更丰富的内容,PPID为父进程的PID
- ps -a:显示所有进程信息
- ps -u root:显示指定用户信息
- pstree -aup:查看进程树,以树形结构列出进程信息
kill
用于终止指定PID号的进程,需要使用进程的PID号作为参数。无特定选项时,kill命令将给该进程发送终止信号并正常退出运行,有时可能该进程已经无法响应终止信号,这时可以结合“-9”(这是数字9不是字母g,有时候容易看走眼)选项强制终止进程。强制终止进程可能会导致程序运行的部分数据丢失,因此不到不得已时慎用。

rpm
- rpm -ql v2ray:查看软件是否安装
vi
基本上vi可以分为三种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:
- 命令⾏模式command mode) 控制屏幕的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。
- 插⼊模式(Insert mode) 只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到模式。
- 底⾏模式(last line mode) 将⽂件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出⾏号……等。 不过⼀般我们在使⽤时把vi简化成两个模式,就是将底⾏模式(last line mode)也算⼊命令⾏模式command mode)。
vi的基本操作:新建文件,进⼊vi 在系统提⽰符号输⼊vi及⽂件名称后,进⼊vi,是处于「命令⾏模式(command mode)」
touch helloworld.sh #也可新建
vi helloworld.sh #也可新建并打开
rm helloworld.sh #删除文件
您要切换到「插⼊模式(Insertmode)」才能够输⼊⽂字。初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!
切换⾄插⼊模式编辑⽂件,在命令⾏模式下按⼀下字母「i或者a」(不区分大小写)就可以进⼊插⼊模式可以开始编辑⽂字了。「i或者a」是不同输入模式|和_。
退出vi及保存⽂件,在插⼊模式下,按退出「ESC」键进⼊命令⾏模式,然后输入带「:」的指令:
- :w filename 将⽂章以指定的⽂件名filename保存
- :wq 存盘并退出vi
- :q! 不存盘强制退出vi
- :# 跳到某行
- :/关键词 向后查找(按n继续查找
- :/关键词 向前查找(按n继续查找
- h 光标左移一个字符
- l 光标右移一个字符
- k或Ctrl+p 光标上移一行
- j或Ctrl+n 光标下移一行
- Ctrl+u 向文件首翻半屏
- Ctrl+d 向文件尾翻半屏
- Ctrl+f 向文件尾翻一屏
- Ctrl+b 向文件首翻一屏
- #G 光标移至第#行首(G 文章最后)
- dd 删除光标所在行
- #dd 删除当前行及其后#-1行
- #x 删除光标位置后#个字符
- #X 删除光标位置后#个字符
- yw 将光标所在之处到字尾的字符复制到缓冲区
- #yw 复制光标所在之处开始#个字到缓冲区
- yy 复制光标所在行到缓冲区
- #yy 复制光标所在之行开始#行到缓冲区
- p 将缓冲区的字符粘贴到光标位置
- u 撤销
- #G 跳到#行
find
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

- find . -name “*.c”
- 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
- find . -iname “XXXX”
- 不区分大小写,将当前目录及其子目录下所有文件、文件名包含xxxx列出来
- find . -type f
- 将当前目录及其子目录中的所有文件列出
- find . -ctime -20
- 将当前目录及其子目录下所有 20 *24H 后创建的文件、文件夹列出
- find /var/log -type f -mtime 7 -ok rm {} \ ;
-
查找 /var/log 目录中在 7*24H以前(7+1)*24H之后修改过的文件,并在删除之前询问我
- find . -type f -perm 644 -exec ls -l {} \ ;
-
查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
- find . -type d -cmin +10 -exec printf “File:%s\n” {} \ ; 借助 -exec命令,将当前目录及子目录下所有 (10+1)分钟前修改过的文件夹名打印出
- find . -name “file1*” -a或-o或! -name “file2*”
- 组合查找文件名以file1开头(与、或、非) file2开头的文件
- find . -maxdepth 3 -empty -exec cp {} old \ ;
- maxdepth要放在前面,基于目录深度3进行搜索,查找所有空的文件和文件夹
- find . -type f -size 0 -ok rm {} \ ;
- 查找当前目录下所有大小为0的文件并删除前问我。0不加单位默认为块=512bytes,0后可加单位k M G,小于大于用+ -,默认=


场景1:服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。
解决1: find / -size +500M -print0|xargs -0 du -m|sort -nr
find指令为找出500M以上的文件,print0和xargs -0配合使用,用来解决文件名中有空格或特殊字符问题。du -m是查看这些文件的大小,并以m为单位显示。最后sort -nr是按照数字反向排序(大的文件在前)
解决2:上述方法从根路径查找,可能列出一些系统文件。可以在这个查找之前先进行一下过滤。
使用du -m -d 1 /|sort -nr
先看看根路径下,哪个文件夹比较大,并且有嫌疑是导致磁盘满的罪魁祸首。然后再基于那个目录进行find。
mkdir
Linux mkdir(英文全拼:make directory)命令用于创建目录。
mkdir [-p] dirName
- -p 确保目录名称存在,不存在的就建一个。
rm
在Linux中,删除目录中的文件夹和文件的方法其实很简单,使用rm -rf命令即可。
具体使用规则:
rm -rf 目录名字
-r 向下递归,不管有多少级目录,一并删除。
-f 直接强行删除,没有任何提示。不加会有确认提示。
rm -rf /var/log/httpd
这句代码的意思是:强制删除/var/log/httpd目录以及其下所有文件、文件夹
rm -f /var/log/httpd/access.log
这个将会强制删除/var/log/httpd/access.log这个文件