掌握了下面的命令,就可以像windows里一样对目录文件操作自如啦。

Linux文件与目录常用命令管理:



文件权限/目录权限:

-rwxr-xr-x. 1 root root  40 Mar 15 04:20 zeng.txt

r(4):可读

w(2):可写

x(1):可执行

drwxr-xr-x. 3 root root  4096 Mar 13 04:48 home

r(4):可以查看目录列表即ls此目录

w(2):可操作目录(删,增,改)

x(1):即有cd权限

chmod:可以改变文件的权限;

u: 用户权限  g:用户组权限  o:其他人权限  a:所有人的权限

比如:

chmod a+x zeng.txt     (将所有的权限都增加x)

chmod u–w zeng.txt    (将所有者/用户的权限减去w)

chmod 755 zeng.txt    (将权限改为rwxr-xr-x)



文件属性/目录属性:

所有者(User),所属用户组(Group),其他用户(Others)

Chgrp:改变文件所属的用户组  比如:

Chgrp (group) (file)

Chgrp zengjie wen.txt

Chown:改变文件所有者/用户(可以同时改变用户和用户组) 比如:

Chown (User) (file)

Chown root aa

Chown root:root aa   (同时改变文件aa的用户和用户组)

Chown –R root home  (-R参数可以改变home目录下的所有文件的用户属性)



cp:复制命令(加-a参数复制文件的同时会复制文件的属性)

cp 源文件 目标文件    比如:

cp zeng.txt jie.txt

cp -a zeng.txt jie.txt



mv:移动命令(剪切命令)(如果目标文件不存在,会等于重命名)

mv 源文件 目标目录(文件)



ls:查看文件与目录

ls 目录



rm:删除命令

rm 文件

rm -rf 强行删除



cat:查看文件类容



touch:修改文件时间/新建文件



umask:文件默认权限

新建文件最大默认权限:rw-rw-rw-即666

新建目录最大默认权限:rwxrwxrwx即777

如果文件默认权限umask为0022,即

新建文件权限为:rw-r--r--即(644)

新建目录权限为:rwxr-xr-x即(755)



file:查看文件类型

file 文件名

find:寻找文件名

Linux命令学习

学习笔记
## 1. 目录操作 
- pwd 显示当前bash命令行的路径
- cd 打开dir
- ls 列表显示路径下的所有dir and file
- mkdir 创建dir
- tree 树形结构显示 dir下dir and file

## 2. file
- rm remove file or dir
- cp copy file or dir 
- cat 查看文件里面的内容
- touch 创建文件
- more 可以部分显示结果

## 3. help and man

- man man 查看man手册
- man ls 查看ls命令
- ls --help 使用bash自带的help命令查看ls的用法
- ls --help | more 部分显示结果
## 4. option
每一个命令 几乎都有 option选项 可以不同方式展示结果

## 5. 重定向
将结果重定向到文件,保存
## 6. 管道
将结果作为另一个命令的参数输入
## 7. 通配符
正则表达式在这里可以使用起来

目录与路径

Linux常用命令:文件与目录,linux常用命令目录

目录与路径

cd:切换目录

例如:cd ~willhua,则回到用户willhua的主文件夹

    cd ~或者cd,则表示回到自己的的主文件夹

    cd -,则表示回到上个目录

pwd:显示目前所在目录

参数:

  • -p,显示当前路径,而非使用连接路径

mkdir:新建新目录

参数:

  • -m:直接配置文件的权限,而不管默认权限umask,比如mkdir -m 711
    test1,则test1的权限为711
  • -p:帮助你直接将所需要的目录递归创建起来,比如mkdir -p
    test1/test2/test3,则系统将递归创建test1,test2,test3

rmdir:删除空目录

参数:

  • -p:连同上层的空目录一起删除,这里的空目录的意思是:目录只含有删除路径中的文件夹而不能含有其他文件或者文件夹

例如:rmdir -p
test1/test2/test3,若该文件夹链中含有其他文件则会删除失败 

文件与目录管理

ls:查看文件目录

参数:

  • -a:列出全部文件,连同隐含文件
  • -d:仅列出文件本身,而不是列出目录内的文件,和pwd差不多
  • -l:列出长数据串,包含文件的的属性与权限等数据,大部分版本中ll即相当于ls
    -l

cp:复制文件,cp 参数   源文件 目标文件

参数:

  • -a:相当于-pdr
  • -i:若目标文件存在时,会询问是否覆盖操作
  • -r:递归复制,用于目录的复制

例如:cp -r /temp/test /temp/test2,则表示吧test目录递归复制到test2中

     cp -r /temp/test test.txt /etc/test3
/temp/test2,则把test,test.txt,test3都复制到test2中

rm:移除文件或目录

参数:

  • -f:强制删除,忽略不存在的文件,不出现警告信息
  • -i:会询问是否删除
  • -r:递归删除文件夹

mv:移动文件或目录,或更名

参数:

  • -f:如果目标文件已存在,则直接覆盖而不询问
  • -i:会询问是否覆盖
  • -u:若目标文件已经存在,则只有源文件比较新才会更新

例如:mv test
test2,若test2存在,则把test移动到test2中,若test2不存在,则相当于把test重命名为test2

文件内容查阅

cat:从第一行开始显示文件内容

参数:

  • -A:列出一些特殊字符,而不是空白而已
  • -n:打印出行数,且包括空白行,而-b则不包含空白行

例如:cat -An
/etc/my.txt,则表示从第一行开始显示my.txt文件,且将打印特殊字符,显示行号

tac:从最后一行开始显示文件

nl:显示文件内容,并自动加上行号

参数:

  • -b a:即使是空行也列出行号
  • -b t:不列出空行的行号,默认值
  • -n ln:行号在屏幕的最左方显示
  • -n rz:行号在字段的最右边显示,且加0补齐行号位数
  • -w n:行号位数,n表示位数

例如:nl -b a -n rz -w 5
my.txt,表示以5位宽度的行号在字段右边显示行号,包括空白行

less:将文件一页一页的显示在屏幕上

操作:

  • 空格键:向下翻动一页
  • PageDown:同空格
  • PageUp:向上翻动一页
  • ?字符串:向上查询字符串
  • /字符串:向下查询字符串
  • q:退出
  • n/N:通用的继续查询

head:只显示前面几行

例如:head -n 20 my.txt,则只显示my.txt前面20行;head -n -30
my.txt,则只显示倒数30行之前的数据;

tail:只显示后面几行

例如:tail -n 20 my.txt,则只显示my.txt后面20行;tail-n -30
my.txt,则只显示30行以后的数据;

od:显示非文本文件

参数:

-t  TYPE,TYPE的可选参数有:

  • a:利用默认的字符来输出
  • c:使用ASCII来输出
  • d:利用十进制来输出
  • x:利用十六进制来输出

例如:od -t c /usr/bin/passwd,则表示将passwd以ASCII的形式显示

touch:修改文件时间或者创建新的文件

例如:touch
newfile,若newfile不存在,则表示创建一个名叫newfile的文件;若newfile存在,则把newfile的mtime和atime修改为当前时间

umask:新建文件/目录时,其对应默认权限应该减去的权限值

例如:对于新建目录,默认的权限为drwxrwxrwx,如果执行:umask
022,那么默认的权限则将变为drwxr-xr-x

chattr:设置文件的隐藏属性

参数:

  • +:增加一个特殊参数,其他的不变
  • -:删掉一个特殊参数,其他不变
  • =:仅有后面接的参数
  • a:设置a属性后,这个文件只能增加数据,不能改动或者删除,只有root才能设置这个属性
  • i:让文件不能被删除、改名,设置连接也无法写入或者添加数据,只有root才能设置此属性

例如:chattr +i
attrtest,则attrtest文件将不能被删除、改名,设置连接也无法写入或者添加数据

file:查看文件类型

例如:file
/usr/bin/passwd,则会显示出passwd这个文件是属于ASCII或者这是data或者是binary文件,有没有使用到动态函数库等信息

locate:查找文件

参数:

  • -i:忽略大小写差异
  • -r:后面可接正则表达式的显示方式

例如:locate
passwd,则将查找所有与passwd相关的文件名,passwd表示的是部分名称。但由于locate是基于数据库的,一般数据库每天更新一次,所以可能会出现查找不到的情况,那么可以使用updatedb命令来手动更新数据库

find:查找文件,较慢,但是属于硬盘查找,都能找到

例如:find / -name
passwd,则将在系统中查找文件名为passwd的文件。其中/表示查找路径,即根目录

 

目录与路径 cd :切换目录 例如:cd ~willhua,则回到用户willhua的主文件夹
cd ~或者cd,则表示…

1.目录路径:

以前总是有点分不清相对路径和绝对路径,现在倒是分清了。

  • ##### 绝对路径,就是绝对的,一定从根目录/开始写的。

  • ##### 相对路径,就是相对来说的,相对当前工作目录的路径。

 

总结

文件和目录常用命令

cd:切换目录

这是一个关于路径的变量,系统会根据里面的目录来查询可以执行的命令。

echo $PATH 可以看到里面有哪些目录。

金沙国际官网 1图片.png

这是root权限下的$PATH内容。

目标

  • 查看目录内容
  • ls
  • 切换目录
  • cd
  • 创建和删除操作
  • touch
  • rm
  • mkdir
  • 拷贝和移动文件
  • cp
  • mv
  • 查看文件内容
  • cat
  • more
  • grep
  • 其他
  • echo
  • 重定向 >>>
  • 管道 |

例如:cd
~willhua,则回到用户willhua的主文件夹

不了解变量的可以看看变量的显示,设置,范围

01. 查看目录内容

    cd
~或者cd,则表示回到自己的的主文件夹

2.切换,显示,新建,删除目录的命令:

既然是切换目录,那就可以返回上一层,进去下一层,或者当前目录。

符号 意义
. 代表当前目录
.. 代表上一层目录
代表前一个工作目录
~ 当前用户的主文件夹

这是一个很简单的命令,唯一要注意的地方就是加了选项
-P,会避免显示连接文件,而是显示真正的路径。

新建目录时,我们要给予这个目录权限,一般都是默认权限。若我们想要自己设置权限就可以加上选项
-m,如图:

金沙国际官网 2图片.png

选项 -p,可以递归的创建文件夹。比如
mkdir -p 1/12/123/1234就会创建/1,/1/12,/1/12/123,/1/12/123/1234目录。

可以删除空的目录,加上-p选项,可以连同上层的空目录一起删除掉。

1.1 终端实用技巧

    cd -,则表示回到上个目录

3.复制,移动,删除,新建文件。

  • 复制目录一般是使用 选项-r:递归持续复制。
  • 选项-i会提示我们是否覆盖当前文件,当目标文件已经存在的时候。
  • 还有一个
    选项-a,复制出来的目录或文件,具有完全相同的特性,什么都一模一样。

关于连接(link
file)的两个选项-d:若要复制的文件是连接文件,直接复制会复制文件本身,-d则可以复制连接文件。-s:复制一个文件的快捷方式,就是(link
file)连接文件。

这是一个比较危险的命令,因为可以删除掉任何东西。

  • 选项-i:删除前会提示我们是否删除,增加互动。
  • 选项-r:递归删除。

金沙国际官网 3图片.png

创建了一个mulu1的文件夹,把test1.txt文件放入其中,在把mulu1文件夹重命名为mulu2。

我们可以一次性,移动多个文件到一个文件夹当中去。

1> 自动补全

  • 在敲出 文件目录命令 的前几个字母之后,按下 tab
  • 如果输入的没有歧义,系统会自动补全
  • 如果还存在其他 文件目录命令,再按一下 tab
    键,系统会提示可能存在的命令

pwd:显示目前所在目录

4.文件内容查看

命令 用途
cat 从第一行开始查看文件内容
tac 从租后一行开始查看文件内容
nl 显示的时候带上行号
more 一页一页的显示文件内容
less 前后翻页查看文件内容
head 查看文件的前几行
tail 查看文件的结尾几行
od 以二进制的方式读取文件内容

详细用法就不说了,需要的时候在查看手册咯。

2> 曾经使用过的命令

  • 光标键可以在曾经使用过的命令之间来回切换
  • 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c

参数:

5.文件默认权限umask

金沙国际官网 4图片.png

0022代表的是需要相应去掉的权限!!!这里user去掉0,意味着权限还是一样。group去掉了2,意味着新的文件少了w的权限。other也是一样,去掉了2,少了w的权限。

1.2 ls 命令说明

  • ls 是英文单词 list
    的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于
    DOS 下的 dir 命令
  • -p,显示当前路径,而非使用连接路径

6.文件查找的命令,which,whereis,locate,find

金沙国际官网 5图片.png

显然这是一个文本文件。

which是根据用户设置的PATH变量来查找文件,若你PATH变量中没有这个路径,那就可能找不到这个文件了,但说不定其实他是存在的。例如
which cd我们找不到cd这个文件,但其实是存在的。

whereis可以用来找特定的文件,是通过数据库文件来查找的,速度比较快。-b:只找二进制的文件。-m:只找有说明书的文件。-s:只找源文件。-u:一些不是上面三者的特殊文件。

Linux 下文件和目录的特点

  • Linux 文件 或者 目录 名称最长可以有 256 个字符
  • . 开头的文件为隐藏文件,需要用 -a 参数才能显示
  • . 代表当前目录
  • .. 代表上一级目录

mkdir:新建新目录

locate 后面只要输入部分名称,就会把所有包含这个名称的文件显示出来。

1.3 ls 常用选项

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小

参数:

locate也是根据数据库文件来查找的,我们可以使用命令 updatedb来更新数据库。
  • mtime number
    查找number天前,那一天修改过的文件。例如查看今天被修改过的文件。

    金沙国际官网 6图片.png

  • find ~/ -mtime
    +number:加了个正号,代表number天之前被修改过的文件。
  • find ~/ -mtime
    -number:加了个负号,代表number天之内被修改过的文件。

find其他用法这里就不说了。

计算机中文件大小的表示方式(科普)

单位 英文 含义
字节 B(Byte) 在计算机中作为一个数字单元,一般为 8 位二进制数
K(Kibibyte) 1 KB = 1024 B,千字节 (1024 = 2 ** 10)
M(Mebibyte) 1 MB = 1024 KB,百万字节
千兆 G(Gigabyte) 1 GB = 1024 MB,十亿字节,千兆字节
T(Terabyte) 1 TB = 1024 GB,万亿字节,太字节
P(Petabyte) 1 PB = 1024 TB,千万亿字节,拍字节
E(Exabyte) 1 EB = 1024 PB,百亿亿字节,艾字节
Z(Zettabyte) 1 ZB = 1024 EB,十万亿亿字节,泽字节
Y(Yottabyte) 1 YB = 1024 ZB,一亿亿亿字节,尧字节
  • -m:直接配置文件的权限,而不管默认权限umask,比如mkdir
    -m 711 test1,则test1的权限为711
  • -p:帮助你直接将所需要的目录递归创建起来,比如mkdir
    -p test1/test2/test3,则系统将递归创建test1,test2,test3

1.4 ls 通配符的使用

通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少 1 个
[] 表示可以匹配字符组中的任一一个
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符

rmdir:删除空目录

02. 切换目录

参数:

2.1 cd

  • cd 是英文单词 change directory
    的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一

注意:Linux 所有的 目录文件名 都是大小写敏感的

命令 含义
cd 切换到当前用户的主目录(/home/用户目录)
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 保持在当前目录不变
cd .. 切换到上级目录
cd – 可以在最近两次工作目录之间来回切换
  • -p:连同上层的空目录一起删除,这里的空目录的意思是:目录只含有删除路径中的文件夹而不能含有其他文件或者文件夹

2.2 相对路径和绝对路径

  • 相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对
    当前目录 所在的目录位置
  • 绝对路径 在输入路径时,最前面是 / 或者 ~,表示从
    根目录/家目录 开始的具体目录位置

例如:rmdir -p
test1/test2/test3,若该文件夹链中含有其他文件则会删除失败 

03. 创建和删除操作

文件与目录管理

3.1 touch

  • 创建文件或修改文件时间
  • 如果文件 不存在,可以创建一个空白文件
  • 如果文件 已经存在,可以修改文件的末次修改日期

ls:查看文件目录

3.2 mkdir

  • 创建一个新的目录
选项 含义
-p 可以递归创建目录

新建目录的名称 不能与当前目录中 已有的目录或文件 同名

参数:

3.3 rm

  • 删除文件或目录

使用 rm 命令要小心,因为文件删除后不能恢复

选项 含义
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹 时必须加此参数
  • -a:列出全部文件,连同隐含文件
  • -d:仅列出文件本身,而不是列出目录内的文件,和pwd差不多
  • -l:列出长数据串,包含文件的的属性与权限等数据,大部分版本中ll即相当于ls
    -l

04. 拷贝和移动文件

序号 命令 对应英文 作用
01 tree [目录名] tree 以树状图列出文件目录结构
02 cp 源文件 目标文件 copy 复制文件或者目录
03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名

cp:复制文件,cp 参数   源文件
目标文件

4.1 tree

  • tree 命令可以以树状图列出文件目录结构
选项 含义
-d 只显示目录

参数:

4.2 cp

  • cp 命令的功能是将给出的 文件目录 复制到另一个 文件
    目录 中,相当于 DOS 下的 copy 命令
选项 含义
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
  • -a:相当于-pdr
  • -i:若目标文件存在时,会询问是否覆盖操作
  • -r:递归复制,用于目录的复制

4.3 mv

  • mv 命令可以用来 移动 文件目录,也可以给
    文件或目录重命名
选项 含义
-i 覆盖文件前提示

例如:cp -r /temp/test
/temp/test2,则表示吧test目录递归复制到test2中

05. 查看文件内容

序号 命令 对应英文 作用
01 cat 文件名 concatenate 查看文件内容、创建文件、文件合并、追加文件内容等功能
02 more 文件名 more 分屏显示文件内容
03 grep 搜索文本 文件名 grep 搜索文本文件内容

     cp -r /temp/test test.txt
/etc/test3 /temp/test2,则把test,test.txt,test3都复制到test2中

5.1 cat

  • cat 命令可以用来
    查看文件内容创建文件文件合并追加文件内容
    等功能
  • cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
选项 含义
-b 对非空输出行编号
-n 对输出的所有行编号

Linux 中还有一个 nl 的命令和 cat -b 的效果等价

rm:移除文件或目录

5.2 more

  • more 命令可以用于分屏显示文件内容,每次只显示一页内容
  • 适合于 查看内容较多的文本文件

使用 more 的操作键:

操作键 功能
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索 word 字符串

参数:

5.3 grep

  • Linux 系统中 grep 命令是一种强大的文本搜索工具
  • grep允许对文本文件进行
    模式查找,所谓模式查找,又被称为正则表达式,在就业班会详细讲解
选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
  • 常用的两种模式查找
参数 含义
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行
  • -f:强制删除,忽略不存在的文件,不出现警告信息
  • -i:会询问是否删除
  • -r:递归删除文件夹

06. 其他

mv:移动文件或目录,或更名

6.1 echo 文字内容

  • echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用

参数:

6.2 重定向 >>>

  • Linux 允许将命令执行结果 重定向到一个 文件
  • 将本应显示在终端上的内容 输出/追加指定文件中

其中

  • > 表示输出,会覆盖文件原有的内容
  • >> 表示追加,会将内容追加到已有文件的末尾
  • -f:如果目标文件已存在,则直接覆盖而不询问
  • -i:会询问是否覆盖
  • -u:若目标文件已经存在,则只有源文件比较新才会更新

6.3 管道 |

  • Linux 允许将 一个命令的输出 可以通过管道 做为
    另一个命令的输入
  • 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里
    | 的左右分为两端,左端塞东西(写),右端取东西(读)

常用的管道命令有:

  • more:分屏显示内容
  • grep:在命令执行结果的基础上查询指定的文本

例如:mv test
test2,若test2存在,则把test移动到test2中,若test2不存在,则相当于把test重命名为test2

文件内容查阅

cat:从第一行开始显示文件内容

参数:

  • -A:列出一些特殊字符,而不是空白而已
  • -n:打印出行数,且包括空白行,而-b则不包含空白行

例如:cat -An
/etc/my.txt,则表示从第一行开始显示my.txt文件,且将打印特殊字符,显示行号

tac:从最后一行开始显示文件

nl:显示文件内容,并自动加上行号

参数:

  • -b a:即使是空行也列出行号
  • -b t:不列出空行的行号,默认值
  • -n ln:行号在屏幕的最左方显示
  • -n rz:行号在字段的最右边显示,且加0补齐行号位数
  • -w n:行号位数,n表示位数

例如:nl -b a -n rz -w 5
my.txt,表示以5位宽度的行号在字段右边显示行号,包括空白行

less:将文件一页一页的显示在屏幕上

操作:

  • 空格键:向下翻动一页
  • PageDown:同空格
  • PageUp:向上翻动一页
  • ?字符串:向上查询字符串
  • /字符串:向下查询字符串
  • q:退出
  • n/N:通用的继续查询

head:只显示前面几行

例如:head -n 20 my.txt,则只显示my.txt前面20行;head -n -30
my.txt,则只显示倒数30行之前的数据;

tail:只显示后面几行

例如:tail -n 20 my.txt,则只显示my.txt后面20行;tail-n -30
my.txt,则只显示30行以后的数据;

od:显示非文本文件

参数:

-t  TYPE,TYPE的可选参数有:

  • a:利用默认的字符来输出
  • c:使用ASCII来输出
  • d:利用十进制来输出
  • x:利用十六进制来输出

例如:od -t c /usr/bin/passwd,则表示将passwd以ASCII的形式显示

touch:修改文件时间或者创建新的文件

例如:touch
newfile,若newfile不存在,则表示创建一个名叫newfile的文件;若newfile存在,则把newfile的mtime和atime修改为当前时间

umask:新建文件/目录时,其对应默认权限应该减去的权限值

例如:对于新建目录,默认的权限为drwxrwxrwx,如果执行:umask
022,那么默认的权限则将变为drwxr-xr-x

chattr:设置文件的隐藏属性

参数:

  • +:增加一个特殊参数,其他的不变
  • -:删掉一个特殊参数,其他不变
  • =:仅有后面接的参数
  • a:设置a属性后,这个文件只能增加数据,不能改动或者删除,只有root才能设置这个属性
  • i:让文件不能被删除、改名,设置连接也无法写入或者添加数据,只有root才能设置此属性

例如:chattr +i
attrtest,则attrtest文件将不能被删除、改名,设置连接也无法写入或者添加数据

file:查看文件类型

例如:file
/usr/bin/passwd,则会显示出passwd这个文件是属于ASCII或者这是data或者是binary文件,有没有使用到动态函数库等信息

locate:查找文件

参数:

  • -i:忽略大小写差异
  • -r:后面可接正则表达式的显示方式

例如:locate
passwd,则将查找所有与passwd相关的文件名,passwd表示的是部分名称。但由于locate是基于数据库的,一般数据库每天更新一次,所以可能会出现查找不到的情况,那么可以使用updatedb命令来手动更新数据库

find:查找文件,较慢,但是属于硬盘查找,都能找到

例如:find / -name
passwd,则将在系统中查找文件名为passwd的文件。其中/表示查找路径,即根目录

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图