1、ls
功能:显示文件和目录的信息
ls 以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 显示文件,按照修改时间排序
2、cat 三大功能
1.一次显示整个文件。
2.从键盘创建一个文件。
只能创建新文件,不能编辑已有文件.,如果已经存在的文件会覆盖里面的内容
3.将几个文件合并为一个文件。
$cat file1 file2 > file
cat one.txt two.txt > newFile.txt 将上面的两个文件合并到新的文件中
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
3、find
用于在文件系统中查找文件和目录。它的基本语法如下:
find [路径] [选项] [表达式] [动作]
[路径]:指定从哪个目录开始查找。如果未指定,那么从当前目录开始查找。
[选项]:find有很多选项,用于修改其行为。例如,-name选项允许你根据文件名查找文件,-type选项允许你根据文件类型查找文件。
[表达式]:这是你要查找的文件的描述。例如,你可以查找所有名为*.txt的文件,或者所有修改日期在2022年的文件。
[动作]:在找到文件后,你可以让find执行一些动作。例如,你可以让find打印出所有找到的文件名,或者删除所有找到的文件。
find命令参数
-name pattern:按照指定的文件名模式进行匹配查找。
-type type:按照指定的文件类型进行查找,如普通文件、目录、符号链接等。
-user username:按照指定的文件属主进行查找。
-group groupname:按照指定的文件属组进行查找。
-size n[c]:按照指定的文件大小进行查找,可以使用c后缀表示单位,如k表示KB,M表示MB。
-mtime n:按照指定的文件修改时间进行查找,表示在指定天数之前修改过的文件。
-newer file:按照指定的文件的新旧程度进行查找,表示查找比指定文件新的文件。
-exec command {} ;:对查找到的文件执行指定的命令。
-delete:在查找到文件后直接删除它们。
find . -name "*.txt" -print 查看当前目录及子目录所有名为*.txt的文件并打印出他们的名称
find . -size +100M 查找文件大于100M的文件
4、vim 编辑器
vim打开文件的方式:
#vim 文件路径 打开指定文件
#vim +数字 文件路径 打开指定的文件,并将光标定位到指定行,不指定默认到第一行,或者上一次保存的地方
#vim +/关键词 文件路径 打开指定的文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 文件路径3 同时打开多个文件
退出: :q回车即可退出; wq! 强制保存退出
移动:
移动到行首shift + 6也就是^(不能用小键盘)
移动到行尾shift + 4也就是$
首行gg
尾行G
快速将光标移动到指定的行 行数 + G
以当前为基准,往上移动 数字 + ↑ 向下 数字 + ↓
以当前为基准,向左移动字符数 数字 + ← 向右 数字 + →
末行模式下移动到指定行 : + 数字
翻屏pageup/ctrl + b pagedown/ctrl + f
复制:
复制光标所在行yy, 粘贴p;
以光标所在行为基准,复制指定行数 6yy(复制六行,包含当前行)
可视化复制:Ctrl + v 按上下左右键进行选择,按yy复制,p粘贴。
剪切/删除:
光标所在行:dd
以光标为基准,操作指定行数 6dd(剪切6行,)
删除所在行,下一行不上移 D
撤销/恢复
撤销 :u 或者u 即可恢复
恢复Ctrl + r 取消撤销的操作。
5、netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
由上图就能看出分为两部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
netstat -pan | grep 36880 查看端口是否被占用
6、top
top
命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的使用工具。
top
命令用来显示Linux
的处理器活动和内核实时管理的任务。它会显示正在使用的处理器和内存以及运行进程等其他信息。
命令选项
- -b:以批处理模式操作。
- -c:显示完整的命令。
- -d:屏幕刷新间隔时间。
- -I:忽略失效过程。
- -s:保密模式。
- -S:累积模式。
- -i<时间>:设置间隔时间。
- -u<用户名>:指定用户名。
- -p<进程号>:指定进程。
- -n<次数>:循环显示的次数。
7、ps
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
命令行格式:
名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
8、lsof
lsof(list open files)是linux下一个不常用的命令,可以列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以,lsof的功能很强大。一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”。因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
9、cp
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
参数:
-a 或 --archive 此参数的效果和同时指定"-dpR"参数相同
-b 或 --backup 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-l 或 --link 对源文件建立硬链接,而非复制文件
-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-P 或 --parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
-s 或 --symbolic-link 对源文件建立符号链接,而非复制文件
-S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
-u 或 --update 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
-v 或 --verbose 显示执行过程
-V <备份方式> 或 --version-control=<备份方式> 指定当备份文件时,备份文件名的命名方式,有以下3种:
1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
-x 或 --one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
--help 显示在线帮助
--sparse=<使用时机> 设置保存希疏文件的时机
--version 显示版本
示例:
.复制文件,只有源文件较目的文件的修改时间新时,才复制文件
cp -u -v file1 file2
.将文件file1复制成文件file2
cp file1 file2
.采用交互方式将文件file1复制成文件file2
cp -i file1 file2
.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
cp -f file1 file2
.将目录dir1复制成目录dir2
cp -R file1 file2
.同时将文件file1、file2、file3与目录dir1复制到dir2
cp -R file1 file2 file3 dir1 dir2
.复制时保留文件属性
cp -p a.txt tmp/
.复制时保留文件的目录结构
cp -P /var/tmp/a.txt ./temp/
.复制时产生备份文件
cp -b a.txt tmp/
.复制时产生备份文件,尾标 ~1~格式
cp -b -V t a.txt /tmp
.指定备份文件尾标
cp -b -S _bak a.txt /tmp
10、mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
1.命令格式: mv [选项] 源文件或目录 目标文件或目录
2.命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
11、ln
ln - Create Links, 创建链接
ln命令用来创建硬链接或符号链接,是link的缩写。
这个命令在Linux命令行里使用,也称为shell。
Shell使用一个终端窗口来打开和操作。
主要有两种使用方式:
创建硬链接:(只能是文件)
ln [options] file link
创建符号链接或软链接:(可以是文件或文件夹)
ln -s [options] item link
注意:
ln命令不能创建新的文件夹结构,所以创建的链接所在的路径要存在。
默认情况下,ln命令执行成功后不会有输出,返回值为0.
如果省略第二个参数或第二个参数为只是一个 '.' ,则会在当前目录下生成一个与原文件相同名称的链接。
12、du
显示磁盘空间的使用情况。统计目录(或文件)所占磁盘的大小。
格式:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
命令中各个选项的含义:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归的显示指定目录中各文件及子孙目录中个文件占用的数据块数。若既不指定-s,也不指定-a,则显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k:以1024字节为单位列出磁盘空间的使用情况。
-c:最后再加上一个总计(系统缺省设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
13、fdisk
fdisk命令是Linux系统中的一个磁盘分区工具,它用于创建、编辑和删除磁盘分区。它可以帮助用户对硬盘进行分区,以便在硬盘上创建多个逻辑分区,从而更好地组织和管理文件系统。
fdisk命令的主要作用如下:
硬盘分区:fdisk命令可以帮助用户对硬盘进行分区,将一个物理硬盘划分为多个逻辑分区。通过分区,用户可以更好地组织和管理文件系统。
分区类型设置:fdisk命令可以设置分区的类型,例如Linux文件系统、Windows文件系统等。不同的分区类型决定了分区上可以使用的文件系统类型。
分区表管理:fdisk命令可以帮助用户创建、编辑和删除分区表。分区表是硬盘上记录分区信息的数据结构,通过fdisk命令可以对分区表进行操作。
分区信息查看:fdisk命令可以查看硬盘上的分区信息,包括分区的大小、起始位置、分区类型等。这有助于用户了解硬盘的分区情况。
分区标签设置:fdisk命令可以设置分区的标签,用于给分区起一个可识别的名称。这有助于用户更好地识别和管理不同的分区。
14、mount
mount命令用于将文件系统挂载到指定的挂载点上。它允许用户访问存储设备或远程文件系统,并将其作为目录的一部分来使用。
挂载是将文件系统与目录关联起来的过程。当我们将文件系统挂载到目录上时,该目录成为文件系统的根目录,我们可以通过该目录访问文件系统中的所有文件和目录。挂载可以将本地设备(如硬盘、光盘、USB驱动器)或远程文件系统(如NFS、SMB)与Linux文件系统进行连接。
mount命令的作用是将指定的文件系统挂载到指定的挂载点上。通过挂载,我们可以将外部存储设备或远程文件系统的内容添加到Linux文件系统中,使得我们可以像访问本地文件一样访问它们。
挂载文件系统后,我们可以在挂载点上执行各种文件操作,例如读取、写入、复制、删除等。当我们不再需要访问该文件系统时,可以使用umount命令将其卸载,断开与Linux文件系统的连接。
mount命令的使用非常广泛,它可以用于挂载各种类型的文件系统,包括ext4、NTFS、FAT32等。此外,mount命令还可以用于查看当前系统中已经挂载的文件系统列表。
总结起来,mount命令的作用是将文件系统挂载到指定的挂载点上,使得我们可以访问外部存储设备或远程文件系统的内容,并将其作为Linux文件系统的一部分来使用。
参数说明
-t <type>: 指定要挂载的文件系统类型。
-o <options>: 指定挂载选项,如读写权限、只读权限等。
-r: 以只读模式挂载文件系统。
-w: 以读写模式挂载文件系统。
-a: 挂载/etc/fstab文件中定义的所有文件系统。
-L <label>: 根据标签挂载文件系统。
-U <UUID>: 根据UUID挂载文件系统。
-n: 不将挂载信息写入/etc/mtab文件。
-F <config_file>: 指定配置文件。