Linux常用命令与操作
0. ls
命令概述
ls
命令用于显示文件目录列表,默认不加参数时只显示非隐藏文件的文件名。命令语法
ls [选项] [目录或者文件名]
参数:-a
:-all
的缩写,显示所有文件,包括隐藏文件(以.
开头的文件);-h
:将文件内容大小以 GB、KB 等易读方式显示;-l
:列出长数据串,显示文件的属性与权限等数据信息;
1. cp
命令概述
cp
命令用于复制文件或文件目录到另一个文件目录,也能用于创建软链接与硬链接。命令语法
cp [选项] [被复制文件或目录] [目标目录]
参数:-a
:相当于-d -p -r
选项的集合。-d
:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;-i
:询问。如果目标文件已经存在,则询问是否覆盖;-l
:把目标文件建立为源文件的硬链接文件,而不是复制源文件;-s
:把目标文件建立为源文件的软链接文件,而不是复制源文件;-p
:复制后目标文件保留源文件的属性,例如使用者、所属组、权限和时间;-r
:递归复制,用于复制目录;-u
:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。示例
- 复制一个源文件到目标目录
cp 1.txt /home/testDir/
- 复制多个源文件到目标目录
cp 1.txt 2.txt 3.txt /home/test/testDir/
- 复制当前目录下某一种格式文件到目标目录
cp *.txt /home/test/testDir/
- 复制一个目录到目标目录
cp -r test/ /home/test/testDir/
- 创建文件软链接
cp -s a.txt /home/test/testDir/b.txt
- 创建文件硬链接
cp -l a.txt /home/test/testDir/b.txt
- 强制覆盖原有文件/目录
cp -r -f a/* /home/test/testDir/
- 复制一个源文件到目标目录
tips
软链接:类似于 Windows 中的快捷方式,创建时不会复制文件。
硬链接:在 Linux 中保存在磁盘分区中的文件,系统都会为它分配一个索引点(lnode)。它是该文件或目录在系统中的唯一标识符,而硬链接就是多个文件名同时指向同一个索引节点(lnode)。在索引节点存在多个链接的时候,删除一个链接不会影响索引本身和其他链接,只有当最后一个链接被删除且有新的时候要存储到磁盘上,删除的数据块及目录链接才会被释放。
硬链接只能在同一类型的文件系统中链接,不能跨文件系统。同时它只能对文件进行链接,不能链接目录。
2. scp
命令概述
scp
命令用于以加密的方式在本地主机与远程主机之间复制文件。命令语法
scp [选项] [本地目录、文件或远程目录、文件] [本地目录、文件或远程目录、文件]
参数:-1
:使用 ssh 协议版本 1;-2
:使用 ssh 协议版本 2;-4
:使用 ipv4;-6
:使用 ipv6;-B
:以批处理模式运行;-C
:使用压缩;-F
:指定 ssh 配置文件;-i
:identity_file 从指定文件中读取传输时使用的密钥文件(例如亚马逊云 pem),此参数直接传递给 ssh;-l
:指定宽带限制;-o
:指定使用的 ssh 选项;-P
:指定远程主机的端口号;-p
:保留文件的最后修改时间,最后访问时间和权限模式;-q
:不显示复制进度;-r
:以递归方式复制。示例
- 从远程主机复制文件到本地目录
scp root@yun.example.com:/home/test/testDir/1.txt /home/test/testDir/
- 从本地上传文件到远程主机的指定目录
scp /home/test/testDir/1.txt root@yun.example.com:/home/test/testDir/
- 从本地上传文件到远程主机的指定目录(指定端口)
scp -P 2333 /home/test/testDir/1.txt root@yun.example.com:/home/test/testDir/
- 从本地上传目录到远程主机的指定目录
scp -r /home/test/testDir/demo root@yun.example.com:/home/test/testDir/
- 从远程主机复制文件到本地目录