[Linux] Linux 文件操作常用命令

1.查看文件

ls [-ald] dirname

表示查看当前目录

-a    列出该目录下的所有文件,包括隐藏文件
-l    列出该目录下的详细数据

ls -al可以简写为ll

cd [path]

change dir 的简写,用来切换目录,以下是几个目录表示方式:

.        表示当前目录
..       表示上一级目录
~        表示当前用户的主文件夹目录,相当于/home/xxx
-        上一次操作的目录
~user    表示user的主文件夹目录,相当于/home/user
!$       上次命令中包含的路径

pwd [-P]

-P       显示当前路径,非连接路径

显示当前目录路径,如:

jyq@ubuntu:~$ pwd
/home/jyq

cat [-n] filename

查看文件内容

-n      显示行号

more filename

以页的形式查看文件内容,但只能向下翻页

Space    向下翻一页
Enter    向下翻一行
b        往回翻页
/string  向下查找string字符串
:f       显示出文件名和当前行号
q        退出

less filename

相比于more,可以向上翻页

Space/PageDown    向下翻页
PageUp            向下翻页
/string           向下查找字符串
?string           向上查找字符串
q                 退出

head [-n number] filename

查看文件前几行,默认10行

# 查看.bashrc的前二十行
$ head -n 20 .bashrc
# 不查看.bashrc的最后50行
$ head -n -50 .bashrc

tail [-n number] filename

显示文件后几行,不指定行数默认10行,如:

# 查看.bashrc文件的后11行内容
$ tail -n 11 .bashrc  
# 查看.bashrc文件第110行之后的内容
$ tail -n +110 .bashrc 

nl [-n] filename

查看文件,显示行号

-n     列出行号的方法,有三种
   -n ln:行号在屏幕最左方显示
   -n rn:行号在字段的最左方显示,但不加0
   -n rz:行号在字段的最左方显示,且加0

2.操作文件

mkdir [-mp] dirname

创建文件夹

-p       递归创建多级目录
-m       创建时配置文件权限

如:

yq@ubuntu:~/PythonWorkSpace$ mkdir test2;ls -l
total 8
-rwx--x--x 1 jyq jyq   11 Jun 13 16:53 test
drwxrwxr-x 2 jyq jyq 4096 Jun 19 08:22 test2
$ mkdir -m 700 test3;ls -l
total 12
-rwx--x--x 1 jyq jyq   11 Jun 13 16:53 test
drwxrwxr-x 2 jyq jyq 4096 Jun 19 08:22 test2
drwx------ 2 jyq jyq 4096 Jun 19 08:22 test3

rmdir [-p] dirname

删除空目录

-p       连同上级目录一并删除

如:

# 将test1/test3文件夹和test1文件夹都删除
$ rmdir -p test1/test3/

touch [-acdmt] filename

创建文件,或者修改文件的时间,常用于创建文件

-a    仅仅修改文件访问时间

如:

# 创建一个test.log文件
$ touch test.log

rm [-ifr] dirname/filename

删除文件或文件夹

-i     删除前询问用户
-r     递归删除文件夹中的内容
-f     强制删除

如:

$ rm -rf myfolder/

cp [-airls] sourcefile targetfile

复制文件

-a    复制后文件的数据特性完全一致
-r    递归复制一个文件夹
-i    复制前询问用户
-s    复制成为符号链接文件
-l    创建一个硬连接文件,硬连接不能跨磁盘分区

如:

# 将WorkSpace整个文件夹复制给myfolder文件夹
$ cp -r WorkSpace/ myfolder
# 创建一个连接文件
$ cp -s test test_link
$ ls -l
total 16
-rwx--x--x  1 jyq jyq   11 Jun 13 16:53 test*
lrwxrwxrwx  1 jyq jyq    4 Jun 19 08:45 test_link -> test*
# 创建一个硬连接文件
$ cp -l test test_h
$ ls -l
total 12
-rwx--x--x 2 jyq jyq   11 Jun 13 16:53 test
-rwx--x--x 2 jyq jyq   11 Jun 13 16:53 test_h

ln [-s] file1 file2

产生链接文件(相当于快捷方式),链接文件改变,源文件也会改变.

-s     软连接,不加默认硬连接,硬连接不能跨磁盘分区

注意:两文件名要使用绝对路径

mv [-fiu] source target

移动文件或重命名文件

-f    强制操作
-i    询问用户
-u    若目标文件已经存在,且source已更新,则进行操作

如:

# 重命名
$ mv test new_test
# 移动到上一级目录
$ mv new_test ..

3.查找文件

find [path] [option] [action]

查找文件,常用形式为:

find -name filename

如:

# 查找当前目录中是否有test文件
$ find -name test
# 查找当前目录中是否存在test开头的文件
$ find -name 'test*'

locate [-ri] keyword

查找文件名中含有关键字的文件,是从数据库中进行查找,因此速度比find要快。

-r    后面可接正则表达式
-i    不区分大小写

使用locate查找时会先建索引,因此新建的数据无法查找到,除非重启或更新计算机。

压缩、解压文件

zip

gzip [-19d] filename

GNU zip简写,只能压缩文件,不能压缩文件夹,压缩之后的文件名为*.gz。

-1      表示快速压缩
-9      表示最佳状态压缩,数字表示压缩等级
-d      解压

如:

# 压缩后为test.txt.gz文件
$ gzip -6 test.txt
# 解压gz文件
$ gzip -d test.txt.gz

tar [-cvf] filename

打包/解压文件夹,gzip只能压缩文件,不能压缩文件夹,因此先需要tar命令将文件夹打包成文件,再用gzip命令
语法:tar [-cvf] (创建.tar文件、观看打包过程、指定压缩后的文件名,可以不加-)

-c    创建.tar文件
-v    观看打包过程
-f    指定压缩后的文件
-x    解压文件
-z    

以下是常用的参数:

# 将文件夹mydir打包为.tar文件
tar cvf mydir.tar mydir    
# 将tar文件解压
tar xvf mydir.tar    
# 直接将文件打包压缩,相当于:$ tar cvf mydir.tar mydir;gzip -9 mydir.tar
tar zcvf mydir.tar.gz mydir       
# 直接将文件解压,相当于:$ gzip -d mydir.tar.gz;tar xvf mydir.tar
tar zxvf mydir.tar.gz mydir       

zip [-r] file.zip filename/dirname

压缩为.zip文件

-r    递归压缩文件夹

如:

# 将文件夹folder1和folder2压缩为all_info.zip文件
$ zip -r all_info.zip folder1 folder2
# 压缩文件
$ zip test.zip test.log

unzip filename.zip

解压zip文件,如:

$ unzip all_info.zip

rar [ax] filename[.rar]

解压rar文件,该命令需要手动安装:

$ sudo apt-get install rar

常用参数有:

x    解压文件
a    压缩文件为.rar文件

如:

# 将test2文件夹、test1.txt、test.txt压缩到myinfo.rar中
$ rar a myinfo test2/ test1.txt  test.txt
# 解压myinfo.rar文件
$ rar x myinfo.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值