linux基本指令-文件管理


pwd

显示当前工作目录,不一定是用户主目录。

cd

改变当前工作目录 cd [directory_name]
cd不输入位置 默认进入用户主目录
cd ~wj 进入指定用户的主目录
cd … 进入当前目录的上级目录

ls

列出当前目录的文件和子目录
ls -a 列出所有目录、子目录、文件和隐藏文件
ls -R列出从当前目录开始的所有的子目录、文件并且一层层往下显示
ls -F 列出文件、目录名并显示出文件类型
ls -t以修改时间为时间倒序来列出文件、子目录
ls -l 以长列表格式显示文件、目录的详细信息

drwxr-xr-x 2 wj wj 4096 Sep 18 06:37 Desktop

d 开头是目录
否则是文件,接下来9位分别表示文件拥有者、同组用户、其他用户的读写执行权限,然后是硬连接数,拥有者和署名者,文件大小,修改或创建时间,文件名目录名
链接文件@
绿色的可执行文件*,红色的可执行文件,什么都没有就是普通文件

1. 删除和创建文件目录

创建文件

touch filename
filename 不存在则创建一个新的空文件
filename 存在则更新该文件的修改访问时间

在当前目录下建立wj.txt
touch wj.txt

使用长格式形式显示,时间显示的是系统创建的当前时间
再次创建wj.txt,并用长格式形式显示,发现两个文件只有时间不一样。touch文件的时候。如果文件不存在,会建立这个文件,如果文件已经存在,会修改文件最后修改的时间。

创建目录

mkdir [-p] directory_name
-p 目录不存在时可以建立目录

Mkdir dir1 绝对路径 mkdir /home/wj/dir2 相对路径 mkdir dir2/dir3
一次建立多个目录 mkdir dir4 dir5 dir6
用户主目录下建立game目录 mkdir ~/game
没有目录的情况下创建将不会成功,应该 mkdir -p dir7/dir8/dir9
查看除了-p以外的其他选项 man mkdir

删除文件

rm [-i/f] filename(s)
-i 询问是否删除
-f 强制删除

删除ml.txt文件: rm ml.txt
询问是否删除: rm -i m12.txt 是的话输y
强制删除文件,不会询问: rm -f test.txt
一次性删除多个文件:rm wj1.txt wj2.txt wj.txt

删除目录:

rmdir directory_name(s)
删除空目录 rm -r[i] directory_name(s)
-r 删除非空目录
-i 删除前询问是否删除

rmdir只能删除空目录:rmdir dir4

删除非空目录: rm -r dir2
删除非空目录,并且询问是否删除: rm -ri dir7
然后依次输y先删除下级目录如dir8和dir9
强制删除,不会询问是否删除: rm -rf dir7

2.显示文件内容

1.cat

不分屏显示文本内容; 把小文件连接成大文件; cat filename(s);

2.more

more filename(s)
spacbebar 向下显示一屏
Enter 向下显示一行
b 向上一屏
f 向下一屏
h 显示帮助菜单
q 退出
/string 查找字符串string
n 查找下一个string

3.head

查找文件的前多少行 head [-n] filename(s)
如: head -5 /etc/passwd

4.tail

查找文件的末尾多少行 tail [-n] filename(s)
如: tail -10 /etc/passwd

3. 拷贝移动文件

cp 拷贝文件

cp [-i] source_file destination_file

cp [-i] source_file(s) destination_directory

-i选项作用:当目标文件存在,会询问是否覆盖,没有-i选项则不询问直接覆盖

cp wj.txt wj1.txt : 拷贝wj到wj1

拷贝目录

cp -r source_directory(s) destination_directory(s)

cp -r dir1 dir2 :dir1拷贝到dir2目录下

cp -r dir3 dir4 dir5 :dir3,dir4拷贝到dir5目录下

mv 移动文件目录或重命名文件目录

mv [-i] source_file target_file 重命名源文件为目标文件
mv [-i] source_file target_directory 移动文件到目标目录
mv wj.txt wj1.txt :在本目录下将wj重命名为wj1
mv wj1.txt dir1:将本目录下的wj1移动到dir1目录下(若dir1不存在,则是对源文件进行改名:如 mv userinfo
dir6)

4.文件目录权限

Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

权限的分类:

r 读权限:可以打开文件、目录读取查看;
w 写权限:对文件、目录可以编写更改;
x执行权限:对文件可执行(可执行文件)、对目录可查找该目录下的内容;

文件目录权限定义:
在这里插入图片描述
权限所属对象:

1.拥有者

生成文件或目录时登陆的当前人,权限最高,用u表示。

2.同组人

系统管理员分配的同组的一个或几个人,用g表示。

3.其他人

除拥有着,同组人以外的人,用o表示。

4.所有人

包括拥有着、同组人及其他人,用a表示。

5.修改文件目录文件

chmod修改文件目录的访问权限,修改权限的前提条件是在修改权限时,要注意自己是文件。

1.使用字母表示权限

在这里插入图片描述

chmod u=r,g+w,o-x wj.txt :可一次设多种权限

2.使用数字表示权限
使用八进制数字来表示权限

r w x
0 0 0 无权限
1 1 1 有权限

在这里插入图片描述
在这里插入图片描述

chmod 555 wj.txt :三种用户都是读执行权限,即
-r-xr-xr-x 1 wj wj 0 Sep 19 20:28 wj.txt
ubuntu默认建立文件时 赋值664 即读写读写读

chown更改某个文件或目录的属主和属组,可用于授权;
例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

chown [选项] 用户或组 文件
sudo useradd wj1 :添加用户wj1
sudo passwd wj1 :给wj1用户设置密码
sudo chown wj1 wj.txt :更改wj文件的属主
(sudo命令以系统管理者的身份执行指令)

chown将指定文件的拥有者改为指定的用户或组。
用户能是用户名或用户ID。组能是组名或组ID。

文件是以空格分开的要改动权限的文件列表,支持通配符。
-R 递归式地改动指定目录及其下的所有子目录和文件的拥有者。
-v 显示chown命令所做的工作。

chgrp
改动文件或目录所属的组。

chgrp [选项] group filename
sudo groupadd wj1 :添加组
sudo chgrp wj1 wj.txt :指定文件所属的用户组

该命令改动指定指定文件所属的用户组
其中group能是用户组ID,也能是/etc/group文件中用户组的组名。文件名是以空格分开的要改动属组的文件列表,支持通配符。如果用户不是该文件的属主或终极用户,则不能改动该文件的组。

  • R 递归式地改动指定目录及其下的所有子目录和文件的属组。
    $ chgrp –R book /opt/local /book。
    改动/opt/local /book/及其子目录下的所有文件的属组为book。

6.查找文件

find
file path expression [action] 查找文件和目录

前提条件:要对被查找的目录及其所有子目录有读权限才能查找。 查找选项:通过文件属性来查找
-name 按文件名
-user 按用户(文件属主)
-size 按大小
-mtime 按最后一次修改时间
-atime 按最后一次访问时间
-type 按文件类型 f:file d:directory
-perm 按权限

7.过滤与统计

grep
查出包含某些字符串的结果,对文件或输出结果进行过滤,大小写敏感。

grep [option(s)] string filename
-i 忽略大小写
-v 反向匹配(查出不包含字符串的结果)

猜你喜欢

转载自blog.csdn.net/weixin_45313447/article/details/113106970
今日推荐