Linux 使用笔记
Linux 使用笔记

Linux 使用笔记

目录

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行为列表标题,其中各字段的含义描述如下:

  1. USER:启动该进程的用户账号名称
  2. PID:该进程的ID号,在当前系统中是唯一的
  3. %CPU:CPU占用的百分比
  4. %MEM:内存占用的百分比
  5. VSZ:占用虚拟内存(swap空间)的大小
  6. RSS:占用常驻内存(物理内存)的大小
  7. TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
  8. STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
  9. START:启动该进程的时间
  10. TIME:该进程占用CPU时间
  11. 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),各模式的功能区分如下:

  1. 命令⾏模式command mode) 控制屏幕的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。 
  2. 插⼊模式(Insert mode) 只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到模式。 
  3. 底⾏模式(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:服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。

解决1find / -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这个文件

发表回复

您的电子邮箱地址不会被公开。