文件权限
操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。
 通过
 ls -lt
 
Linux 中权限分为以下几种:
- r:代表权限是可读,r 也可以用数字 4 表示
- w:代表权限是可写,w 也可以用数字 2 表示
- x:代表权限是可执行,x 也可以用数字 1 表示
  
系统状态
top:
 用于实时查看系统的 CPU 使用率、内存使用率、进程信
息等。
 
 通过grep 查看对应的进程的CPU占用情况
 
htop:类似于 top,但提供了更加交互式和友好的界面,可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
 
 vmstat :vmstat [间隔时间] [重复次数]:vmstat (Virtual Memory Statistics) 的含义为显示虚拟内存状态,但是它可以报告关于进程、内存、I/O 等系统整体运行状态。
 
 df [选项] [文件系统]:用于查看系统的磁盘空间使用情况,包括磁盘空间的总量、已使用量和可用量等,可以指定文件系统上。例如:df -a,查看全部文件系统。
du [选项] [文件]:用于查看指定目录或文件的磁盘空间使用情况,可以指定不同的选项来控制输出格式和单位。
 
这个指令 du random 是用来显示文件或目录占用磁盘空间的大小。在你的例子中,它显示目录或文件 random 占用了 12144 个磁盘块(一般情况下是以字节显示,但也可能以块显示)。
 df random 这个命令的意思是检查 random 目录所在的文件系统的磁盘使用情况。df 命令通常用来显示文件系统的磁盘空间使用情况,包括总空间、已用空间、可用空间以及使用百分比。
在你的例子中,输出显示的是 /dev/vda3 文件系统的情况:
- 1K-blocks: 总共 40,910,528 个 1K 块(即大约 40 GB)。
- Used: 已用 15,139,260 个 1K 块。
- Available: 可用 23,880,068 个 1K 块。
- Use%: 使用百分比为 39%。
这表明 random 目录所在的文件系统的总空间约为 40 GB,已经使用了约 15 GB,还有约 24 GB 可用。
网络通信
- ping [选项] 目标主机:测试与目标主机的网络连接。
- ifconfig 或 ip:用于查看系统的网络接口信息,包括网络接口的 IP 地址、MAC 地址、状态等。
- netstat [选项]:用于查看系统的网络连接状态和网络统计信息,可以查看当前的网络连接情况、监听端口、网络协议等。
- ss [选项]:比 netstat 更好用,提供了更快速、更详细的网络连接信息。
文件操作
tail 命令
 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用参数:
-f 循环读取(常用于查看递增的日志文件)
 -n<行数> 显示行数(从后向前)
 (1)循环读取逐渐增加的文件内容
ping 127.0.0.1 > ping.log &
 后台运行:可使用 jobs -l 查看,也可使用 fg 将其移到前台运行。
tail -f ping.log
 (查看日志)
find 命令
用于在文件树中查找文件,并作出相应的处理。
命令格式:
find pathname -options [-print -exec -ok …]
 命令参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
 -print: find命令将匹配的文件输出到标准输出。
 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
 命令选项:
-name 按照文件名查找文件
 -perm 按文件权限查找文件
 -user 按文件属主查找文件
 -group 按照文件所属的组来查找文件。
 -type 查找某一类型的文件,诸如:
 b - 块设备文件
 d - 目录
 c - 字符设备文件
 l - 符号链接文件
 p - 管道文件
 f - 普通文件
-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
 -amin n 查找系统中最后N分钟访问的文件
 -atime n 查找系统中最后n24小时访问的文件
 -cmin n 查找系统中最后N分钟被改变文件状态的文件
 -ctime n 查找系统中最后n24小时被改变文件状态的文件
 -mmin n 查找系统中最后N分钟被改变文件数据的文件
 -mtime n 查找系统中最后n*24小时被改变文件数据的文件
 (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
 -maxdepth n 最大查找目录深度
 -prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
 -newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
 实例:
(1)查找 48 小时内修改过的文件
find -atime -2
 (2)在当前目录查找 以 .log 结尾的文件。 . 代表当前目录
find ./ -name ‘*.log’
 (3)查找 /opt 目录下 权限为 777 的文件
find /opt -perm 777
 (4)查找大于 1K 的文件
find -size +1000c
 查找等于 1000 字符的文件
find -size 1000c
 -exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。
实例:
(5)在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find . -type f -mtime +10 -exec rm -f {} ;
 (6)当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除
find . -name ‘*.log’ mtime +5 -ok -exec rm {} ;
 (7)当前目录下查找文件名以 passwd 开头,内容包含 “pkg” 字符的文件
find . -f -name ‘passwd*’ -exec grep “pkg” {} ;
 (8)用 exec 选项执行 cp 命令
find . -name ‘*.log’ -exec cp {} test3 ;
 -xargs find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取一部分文件而不是全部,不像 -exec 选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
实例:
(9)查找当前目录下每个普通文件,然后使用 xargs 来判断文件类型
find . -type f -print | xargs file
 (10)查找当前目录下所有以 js 结尾的并且其中包含 ‘editor’ 字符的普通文件
find . -type f -name ".js" -exec grep -lF ‘ueditor’ {} ;
 find -type f -name '.js’ | xargs grep -lF ‘editor’
 (11)利用 xargs 执行 mv 命令
find . -name “*.log” | xargs -i mv {} test4
 (12)用 grep 命令在当前目录下的所有普通文件中搜索 hostnames 这个词,并标出所在行:
find . -name *(转义) -type f -print | xargs grep -n ‘hostnames’
 (13)查找当前目录中以一个小写字母开头,最后是 4 到 9 加上 .log 结束的文件:
find . -name ‘[a-z]*[4-9].log’ -print
 (14)在 test 目录查找不在 test4 子目录查找
find test -path ‘test/test4’ -prune -o -print
 (15)实例1:查找更改时间比文件 log2012.log新但比文件 log2017.log 旧的文件
find -newer log2012.log ! -newer log2017.log
 使用 depth 选项:
depth 选项可以使 find 命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
实例:find 命令从文件系统的根目录开始,查找一个名为 CON.FILE 的文件。 它将首先匹配所有的文件然后再进入子目录中查找
find / -name “CON.FILE” -depth -print
vim常见快捷键
Vim 是一个功能强大的文本编辑器,拥有许多快捷键可以帮助用户提高效率。这里列举一些常用的 Vim 快捷键:
-  基本操作 - i:进入插入模式
- Esc:返回普通模式
- :w:保存文件
- :q:退出 Vim
- :wq或- :x:保存并退出
- :q!:强制退出不保存
 
-  移动光标 - h、- j、- k、- l:左、下、上、右移动光标
- 0或- ^:移动到行首
- $:移动到行尾
- G:移动到文件末尾
- gg:移动到文件开头
- Ctrl+- f:向下翻一页
- Ctrl+- b:向上翻一页
 
-  编辑文本 - x:删除光标下的字符
- dw:删除一个单词
- dd:删除整行
- yy:复制整行
- p:粘贴
- u:撤销
- Ctrl+- r:重做
 
-  查找与替换 - /word:向下查找“word”
- ?word:向上查找“word”
- n:重复上次查找操作
- N:反向重复上次查找操作
- :%s/old/new/g:替换全文中的“old”为“new”
 
-  多窗口操作 - :split或- :sp:水平分割窗口
- :vsplit或- :vsp:垂直分割窗口
- Ctrl+- w+ 箭头键:在窗口间切换
 
这些是一些基本的 Vim 快捷键,当然,Vim 的功能远不止这些。通过学习更多的快捷键和命令,你可以更加高效地使用 Vim。
占用端口
在 Linux 系统中,如果想要查看哪个进程正在占用某个文件,可以使用以下命令:
lsof (list open files):
 这是最常用的工具,可以显示打开的文件及其相关的进程信息。
bash
 复制代码
 lsof /path/to/file
 例如:
bash
 复制代码
 lsof /var/log/syslog
 该命令会列出所有打开 /var/log/syslog 文件的进程。