linux 文件及文件夹操作总结

版权声明:此文章为许诗宇所写,如需转载,请写下转载文章的地址 https://blog.csdn.net/xushiyu1996818/article/details/83541839

文件基本操作

查看

cat命令

cat命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。
参数 作用

-n      显示行号
-b      显示行号(不包括空行)
-A      显示出“不可见”的符号,如空格,tab键等等

more命令

more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”

参数      作用
-n      显示行号
-b      显示行号(不包括空行)
-A      显示出“不可见”的符号,如空格,tab键等等

head命令
head命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。
参数 作用

-n 10       显示10行
-n -10      正常输出(如cat命令),但不显示最后的10行

tail命令
tail命令用于查看纯文本文档的后N行,格式为:“tail [选项] [文件]”

参数      作用
-n 10   显示后面的10行
-f      持续刷新显示的内容

od命令
od命令用于对查看特殊格式的文件,格式为:“od [选项] [文件]”。
参数 作用

-t a    默认字符
-t c    ASCII字符
-t o    八进制
-t d    十进制
-t x    十六进制
-t f    浮点数

复制删除移动

cp命令

cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。
复制命令的三种情况:
目标文件是一个目录,会将源文件复制到该目录中。
目标文件是一个文件,会将源文件覆盖该文件。
目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。

扫描二维码关注公众号,回复: 3823401 查看本文章
参数      作用
-p      保留原始文件的属性
-d      若对象为"链接文件",则保留该"链接文件"的属性
-r      递归持续复制(用于目录)
-i      若目标文件存在则询问是否覆盖
-a      相当于-pdr(p,d,r为上述的参数)

mv命令
mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”。

rm命令
rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
删除普通文件并提示确认信息:“rm 文件名”
删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”

参数      作用
-f      忽略警告信息
-i      删除前先询问
-r      删除文件夹

dd命令
dd命令用于指定大小的拷贝的文件或指定转换文件,格式为:“dd [参数]”。

参数          作用
if          输入的文件名称。
of          输出的文件名称。
bs          设置每个“块”的大小。
count       设置要拷贝“块”的个数。
conv=ucase  将字母从小写转换为大写。
conv=lcase  把字符从大写转换为小写。

创建

vi命令
比如vi www.sh 会显示一个空白的文件,添加字符并且:wq后,会保存退出

touch命令

touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”。
1.我们可以用“touch test”轻松的创建出一个名字为test的空白文档,所以这个功能无须介绍。
2.对于在Linux中的文件有三种时间:
更改时间(mtime):内容修改时间(不包括权限的)
更改权限(ctime):更改权限与属性的时间
读取时间(atime):读取文件内容的时间
如果黑客执行了touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)。
3.

  参数      作用
    -a      近修改“访问时间”(atime)
    -m      近修改“更改时间”(mtime)
    -d      同时修改atime与mtime
    -t      要修改成的时间[YYMMDDhhmm]

其他

tr命令
tr命令用于转换文本文件中的字符,格式为:“tr [原始字符] [目标字符]”。
例如:查看tr.txt文件,并将所有的小写字母转换为大写字母

 cat tr.txt | tr [a-z] [A-Z]

wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
参数 作用

-l      只显示行数
-w      只显示单词数
-c      只显示字节数

cut命令
cut命令用于通过列来提取文本字符,格式为:“cut [参数] 文本”。
参数 作用

-d 分隔符    指定分隔符,默认为Tab。
-f          指定显示的列数。
-c          单位改为字符

获取当前系统中所有用户的名称:
参数作用:-d以”:”来做分隔符,-f参数代表只看第一列的内容。

cut -d: -f1 /etc/passwd

权限(包括文件夹)

查看权限

我们来查看一下zhaoyuqiang.html这个网页文件的权限。
方法:在终端输入:
ls -l xxx.xxx (xxx.xxx是文件名)查看的是xxx文件之中的文件权限
那么就会出现相类似的信息,主要都是这些:-rw-rw-r–

权限含义

-rw-r--r--

中间那三个 rw- 代表的是所有者(user)拥有的权限
然后那三个 r-- 代表的是组群(group)拥有的权限
最后那三个 r-- 代表的是其他人(other)拥有的权限
然后
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
之后的root root 就是用户拥有者了。
需要注意的是:查看文件权限的目录问题: 如果有文件夹 /a/b/c
那么执行 ls -l /a/b 查看权限的文件并不是b,而是查看的c的权限。
ls -l /a 查看的是b文件的权限
ls -l /a/b 查看的是c文件的权限
ls -l /a/b/c 查看的是c文件的权限

修改权限

在终端输入:
chmod o w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替

r ------------4

w -----------2

x ------------1

- ------------0

行动:
表示添加权限

  • 表示删除权限
    = 表示使之成为唯一的权限
    当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
    -rw------- (600) 只有所有者才有读和写的权限
    -rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
    -rwx------ (700) 只有所有者才有读,写,执行的权限
    -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
    -rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
    -rw-rw-rw- (666) 每个人都有读写的权限
    -rwxrwxrwx (777) 每个人都有读写和执行的权限

修改权限(数字)

另外一种方法是以数字来表示权限,而且仅需三个数字。
r: 对应数值4
w: 对应数值2
x:对应数值1
-:对应数值0
(一) 我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:111 101 100再将其每三位转换成为一个十进制数,就是754。
(二) 也可以将其简单的理解为一种运算: (4+2+1) (4+1) (4)=754
例如,我们想让zhaoyuqiang.html这个文件的权限为:
自己 同组用户 其他用户
可读 是 是 是
可写 是 是
可执行 是
那么,我们先根据上表得到权限串为:rw-rw-r–,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:

chmod 664 test.sh


[root@localhost ~]# chmod 700 /mnt/fileA注:仅把fileA目录的权限设置为700
[root@localhost ~]# chmod -R 744 /mnt/fileA注:表示将整个/mnt/fileA

目录与其中的文件和子目录的权限都设置为744
需要注意的还是关于修改权限的文件问题:比如有文件 /a/b/c.
执行: chmod 700 /a 修改的是a文件的权限

   chmod 700 /a/b  修改的是b文件的权限 
   chmod 700 /a/b/c  修改的是c文件的权限

要和查看文件权限的目录分开

所有者

chown 语法
chown [选项]… [所有者][:[组]] 文件…
举例:将oldboy文件的属主改为oldboy用户

[root@localhost oldboy]# ls -l oldboy
-rw-r--r-- 1 root root 5 May  1 09:57 oldboy
[root@localhost ~]# chown  oldboy:root oldboy  #这里冒号也可以换成点(.)
[root@localhost oldboy]# ls -l oldboy
-rw-r--r-- 1 oldboy root 5 May  1 09:57 oldboy

说明:chown 所接的新的属主和新的属组之间应该以.或:连接,属主和属组任意之一可以为空。如果属主为空,应该是:属组;如果属组为空,就不必需要.或:了。

root@localhost ~]# mkdir -p /test/oldboy
[root@localhost ~]# cd /test/oldboy/
[root@localhost oldboy]# touch oldboy.txt
[root@localhost oldboy]# ls -l oldboy.txt 
-rw-r--r-- 1 root root 0 May  3 08:09 oldboy.txt
[root@localhost oldboy]# chown zgy oldboy.txt      #把oldboy.txt的属主改为zgy
[root@localhost oldboy]# ls -l oldboy.txt 
-rw-r--r-- 1 zgy root 0 May  3 08:09 oldboy.txt
[root@localhost oldboy]# chown :zgy oldboy.txt 
[root@localhost oldboy]# ls -l oldboy.txt 
-rw-r--r-- 1 zgy zgy 0 May  3 08:09 oldboy.txt
[root@localhost oldboy]# chown root:etiantian oldboy.txt   #把oldboy.txt的属主改为root,把属组改成etiantian用户组
[root@localhost oldboy]# ls -l oldboy.txt 
-rw-r--r-- 1 root etiantian 0 May  3 08:09 oldboy.txt

特别提示:要修改的用户和组鄙视是系统中已经存在的。
chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,我们可以通过加-R参数来改变某个目录下的所有文件到新的属主或属组;

[root@localhost oldboy]# mkdir zgy_dir
[root@localhost oldboy]# ls -ld zgy_dir/
drwxr-xr-x 2 root root 4096 May  3 08:26 zgy_dir/
[root@localhost oldboy]# mkdir zgy_dir
[root@localhost oldboy]# ls -ld zgy_dir/
drwxr-xr-x 2 root root 4096 May  3 08:26 zgy_dir/

文件夹

创建

mkdir命令
mkdir用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。
参数 作用

-m=MODE     默认的文件目录权限,如"-m 755"
-p          连续创建多层目录(若文件夹已存在则忽略)
-v          显示创建的过程

查看进入

pwd命令
pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。
参数 作用

-P      显示真实路径。(即非快捷链接的地址)

cd命令
cd命令用于切换工作路径,格式为:“cd [目录名称]”。
参数 作用

-           切换到上一次的目录,如“cd -”
~           切换到“家目录”,如"cd ~"
~username   切换到其他用户的家目录,如"cd ~teak"
..          切换到上级目录,如"cd .."

复制删除移动

cp命令

cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。
复制命令的三种情况:
目标文件是一个目录,会将源文件复制到该目录中。
目标文件是一个文件,会将源文件覆盖该文件。
目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。

参数      作用
-p      保留原始文件的属性
-d      若对象为"链接文件",则保留该"链接文件"的属性
-r      递归持续复制(用于目录)
-i      若目标文件存在则询问是否覆盖
-a      相当于-pdr(p,d,r为上述的参数)

mv命令
mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”。

rm命令
rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
删除普通文件并提示确认信息:“rm 文件名”
删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”

参数      作用
-f      忽略警告信息
-i      删除前先询问
-r      删除文件夹

猜你喜欢

转载自blog.csdn.net/xushiyu1996818/article/details/83541839
今日推荐