Linux文件目录类常用命令

目录

         常见Linux命令的格式

1.浏览目录命令: ls   pwd

 ls    pwd

2.目录操作命令: cd  mkdir  rmdir 

cd    mkdir

3.浏览文件命令: cat  more  less  head  tail 

cat    more    less    head    tail    区别 

4.文件操作命令: cp  rm  mv  find  grep  touch  tar  zip/unzip

cp    rm    mv    find    grep    touch   tar    zip/unzip

5.其他命令: echo  ifconfig  Ctrl+c  Ctrl+l/clear  man 

echo   ifconfig     Ctrl+c     Ctrl+l/clear     man 


常见Linux命令的格式

命令名称  命令参数  命令对象     

注意: 命令名称, 命令参数, 命令对象之间都要用空格隔开

命令参数: 用于调整命令的功能
命令名称不同,命令参数的个数和内容会有所不同;
要实现的命令功能不同, 命令参数的个数和内容也会有所不同.

命令参数的长格式与短格式也被称作简化选项与完整选项。短格式的命令选项是单个英文字母,命令参数前加符号"-",字母可以是大写或小写;长格式的命令选项使用英文单词表示,选项前用"--"符号, 长格式还是短格式, 命令作用是一样的, 用的时候也全凭个人喜好啦。
例如:

ls -a
ls --all

命令对象: 一般是指要处理的文件、目录、用户等资源

例如:

 ls -a /home/test/

这里的 /home/test/就是test目录的绝对路径, 充当了命令对象, 上面两个命令没有命令对象, 则命令对象默认是当前所在目录

有绝对路径那么肯定就对应有相对路径
绝对路径: 一个目录或者文件的绝对路径就是从根目录出发, 到目标目录或文件的路径 .  
               / 表示根目录, 所有的绝对路径都是以/ 开头,
              在Windows下我们可以看到路径  此电脑相当于根目录 / 
              就以桌面这个目录为例, 绝对路径在Linux下应为 / Windows(C:)/用户/暖白/桌面
                例如: /home/test/, 就是从根目录到home目录再到test目录
相对路径: 一个目录或文件夹的相对路径就是从当前所在目录出发, 到目标目录或文件的路径
                例如: 还是以Windows为例, 假设现在在桌面这个目录下
                  那么用户这个目标目录的相对路径就是 桌面->暖白->用户  , Linux下表示为  ../..    , ..表示上一级        

1.浏览目录命令: ls   pwd

 ls 

英文原意: list
功能描述: 显示目标目录的列表
基本用法 : ls  (命令参数)  (命令对象)
常用命令参数 : 
-a : 显示所有文件, 包括.开头的隐藏文件
-l  : 显示所有文件详细信息(不包括隐藏文件)
-d : 将目录象文件一样显示,而不是显示其下的文件. 如: ls -d 指定目录
-t  : 以时间排序输出结果(默认离当前日期近的在前), 加-r则会逆序
-r :  对目录反向排序
-s : 在文件名前面输出该文件的大小 
-S : 以大小为条件排列输出结果(默认大的在前), 加-r则会逆序
-R : 列出所有子目录下的文件。(递归) 例如: ls -R 指定目录
-F : 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)

蓝色字体的是目录, 灰色字体的是文件, 前面带 . 的就是隐藏文件或目录


命令参数还可以多个一起使用 , 例如  ls -t -l  或  ls -l -t 显示当前目录下的所有文件( 包括隐藏文件 )的详细信息 , 连用还可以 ls -tl 或 ls -lt 也显示当前目录下的所有文件( 包括隐藏文件 )的详细信息

pwd

英文原意: print working directory
功能描述: 显示当前所在的目录的绝对路径
基本用法 : pwd
常用命令参数 :  无

 

2.目录操作命令: cd  mkdir  rmdir 

cd

英文原意: change directory
功能描述: 切换目录
基本用法 : cd  (命令参数)  (命令对象)
语法:
cd 路径(绝对路径或相对路径)  :例如: cd /home/test , 根绝对路径切换到home目录下的test目录, 假设现在在test目录下,
                                                  test目录下还有目录a, 我们用cd + 相对路径切换表示为 cd ./a
                                                  如图:
cd ~ 或 cd       :切换到home目录
cd -                 :切换到上一次所在目录(相当于电视机遥控器的返回键)
.                      :表示目前所在的目录
..                     :则表示目前目录位置的上一层目录,  cd .. 则表示切换到上一层目录, cd ../..表示切换到上一                                                    层的上一层目录

mkdir

英文原意 : make directory
功能描述: 创建新目录
基本用法 : mkdir  (命令参数)  (命令对象)
语法 :
cd  目录名(需要创建的路径)
常用命令参数 : 
-p  上层目录名/目录名   :若所要建立目录的上层目录目前尚未建立,则会(递归的方式)一并建立上层目录;

rmdir 

英文原意 : remove directory
功能描述: 删除空目录
基本用法 : rmdir  (命令参数)  (命令对象)
常用命令参数 : 
-p : 删除指定目录后, 若该目录的上层目录已变成空目录, 则将其一并删除;

3.浏览文件命令: cat  more  less  head  tail 

cat

英文原意: concatenate and display files
功能描述: 连接文件并打印到标准输出设备上,  经常用来显示文件的内容
基本用法 : cat  (命令参数)  (命令对象)
常用命令参数 : 
-b  : 对非空输出行编号
-n  : 对输出的所有行编号
-s  : 不输出多行空行
-E  : 在每一行的末尾添加  $
                                           
-n  : 在每一行后面添加行号
                                           

还可以将多个文件连接打印

                                           

more 

基本用法 : more  (命令参数)  (命令对象)
功能描述: 分页显示文件内容
语法:
空格       : 显示下一页
b                  : 显示上一页
Enter(回车)  : 显示下一行
q或Q            : 退出
常用命令参数 : 
+数字   : 从指定行数显示
- 数字   : 设置每一页显示的行数        

less 

基本用法 : less  (命令参数)  (命令对象)
功能描述 : 作用与more十分相似,都可以用来浏览文件内容
注意:
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
语法:
PageUp键     :向上翻页
PageDown键 :向下翻页
q或Q              : 退出
上键               :上一行
下键 /Enter    :下一行
less  文件名(文件路径)  Enter(回车)  字符(字符串)   : 查找字符或字符串, 按 n 向下查找下一个匹配结果, 按N往上....
常用命令参数:
-e:文件内容显示完毕后, 自动退出
-N:每一行行首显示行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能

head 

基本用法 : head  (命令参数)  (命令对象) 
功能描述 : 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
常用命令参数:
-数字:指定显示头部内容的行数

tail 

基本用法 : tail  (命令参数)  (命令对象)
功能描述 : tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。tail命令不止会将文件尾部内容打印到屏幕, 还会时时刷新, 使我们能看到最新的内容
常用命令参数:
-数字      : 指定显示尾部内容的行数
-c  数字(N)  : 输出文件尾部的N (N为整数) 个字节内容

区别 

less指令与cat, more有本质区别(less更加强大, 更灵活)
more和cat读取文件时一般为全部加载 
less是延时加载, 我们读到那儿, 文件加载到哪儿(也就是说并不是一次性将文件加载完), 所以说当文件很大时, less效率更高
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看

4.文件操作命令: cp  rm  mv  find  grep  touch  tar  zip/unzip

cp

英文原意 : copy
基本用法 : cp (命令参数)  (命令对象)
功能描述 : 复制文件或目录
语法:
cp  文件名  路径  新名字    : 复制同时还可以重命名
cp -r/R  目录名  路径          : 不仅可以复制文件还能复制文件夹
常用命令参数:
-r/R   : 递归处理
-i       : 覆盖既有文件之前先询问用户
-f       : 强行复制文件或目录,不论目标文件或目录是否已存在
-p      : 保留源文件或目录的属性
-b      : 覆盖已存在的文件目标前将目标文件备份
-u      : 目标文件与源文件有差异(或目标文件不存在)时才会复制

rm 

英文原意 : remove
基本用法 : rm (命令参数)  (命令对象)
功能描述 : 删除一个或多个文件或目录对于链接文件,只是删除整个链接文件,而原有文件保持不变。
语法(与通配符配合使用) : 
*   :
通配符  
rm *  : 删除当前目录下所有文件
rm -if 路径 *  : 删除该路径下(用户权限范围内)所有的文件及目录  (慎用)
rm -if  *.txt     : 删除当前路径下(用户权限范围内)所有的txt文件
常用命令参数:
-f      : 强制删除文件或目录(慎用)
-i      : 删除已有文件或目录之前先询问用户
-r/-R : 递归处理,将指定目录下的所有文件与子目录一并处理
注意 : rm删除的文件或目录是无法恢复的, 所以,  在删除文件之前,  最好再看一下文件的内容,  确定是否真要删除。
rm -rf 或 rm -r -f 或 rm -fr  (三个指令等价)在删除目录时尤其要小心, 一定不要发生删库跑路的悲剧
                                                   

                     
rm命令可以用-i选项,  这个选项在使用通配符删除多个文件时特别有用.  使用这个选项. 系统会要求你逐一确定是否要删除.  这时, 必须输入y并按Enter键, 才能删除文件. 其他任何输入, 文件不会被删除.

mv 

英文原意 : move
基本用法 : mv (命令参数)  (命令对象)
功能描述 : 来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
注意 : 
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
1. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
例如: mv [源文件/目录] [新名字] 
2. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
例如: mv [指定文件] [路径], 移动文件,   mv [指定目录] [路径], 移动目录 

注意:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
常用命令参数:
-b  : 当文件存在时, 覆盖前, 为其创建一个备份;
-f   : 如果目标文件已经存在, 不会询问而直接覆盖
-i   :若目标文件已经存在时, 就会询问是否覆盖

find 

基本用法 : find (命令参数)  (命令对象)
功能描述 : 指定目录下查找目录或文件
常用命令参数:
-name  :  find -name filename  在当前目录下查找名为filename的文件或目录, find -name *.txt  查找当前路径下所有.txt格式的文件
-size     : find -size -1 在当前目录下查找比1字节小的所有文件, find -size +1 在当前目录下查找比1字节大的所有文件
-type    :  find -type TYPE 在当前目录下查找类型为TYPE的所有文件, TYPE的值主要有:一般文件(f), 设备文件(b, c), 链接文件(l), 目录(d), socket(s), FIFO管道文件(p)

实例 :

find 路径/* -mmin -10   //查找这个路径下10分钟内修改过的文件或目录

//-mtime  表示按天计数, -mmin 表示按分钟计数
// -10表示10分钟内修改的的, +10表示10分钟之前修改过的, 10表示恰好是修改10分钟的

grep 

英文原意 : Globally search a Regular Expression and Print
基本用法 : grep (命令参数)  <要找的字符串>  <需要查找的源文件>
功能描述 : 在文件中搜索匹配的字符并输出, 是一个强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来
常用命令参数:
-a  : 以二进制文件的方式进行查找
-c  : 输出找到的次数
-i   : 忽略字符大小写
-v  : 反转查找, 输出不包含所 "查找字符串" 内容的
-r/R: 递归查找
-n  : 查找的结果带行号
实例 :
在当前目录下, 递归查找内容中有'a'的文件并打印出所在行

将/etc/passwd,有 root 的找出并打印出来, -n 用来显示行号



用 cat显示文件内容, 再用 grep 找出内含 'sdvc' 那行, -A3 和 -B3的意思是把关键字所在行的前两行与后三行也一起显示

根据文件内容查找目录下文件

grep  'vs'  *  //搜索当前目录下文件中有含 'vs' 行的文件, 并输出这一行
grep  -r  'vs'  *  //递归搜索当前目录下文件中有含 'vs' 行的文件, 并输出这一行
grep  -r  -l  'vs'  *  //递归搜索当前目录下文件中有含 'vs' 行的文件, 只输出文件名, 不输出匹配的行

 grep与正则表达式 

grep配合正则表达式强大的功能可以完成更强大的搜索功能

字符类

字符类的搜索:如果想要搜寻 'aaa' 或 'aea' 这两个字符串时, 可以发现到, 它们有共同的 'a?a' 存在, 这个情况, 我可以这样来搜寻 

字符类的反向选择[^]  : 
想要搜索 'ood' 但不想要 'good' , 那么在 ood前可以加[^g]来实现类似于 -v的作用

想要搜索 'ood' 但不想有小写字母


搜索有数字的行

行首与行尾字节 ^ $

^ 在 [ ]内与不再[ ]内是不同的, 在[ ]内是反向选择, 不在是定位在行首

例如找空白行, 空白行只有行首行位...

找 'vs' 开头的的行

任意一个字节 . 与重复字节  *

这两个符号在正则表达式的意义如下:
. (点):匹配除“\n”和"\r"之外的任何单个字符
* (星号): 匹配前面的一个字符的任意次。例如,zo*能匹配“z”,也能匹配“zo”以及"zooo......"

找g??d


找bcd或bcdx以及bcdxx...

如果要找出g开头, d结尾的,中间字符随意的行

限定连续 RE 字符范围 {}

(RE)是正则表达式的简写
我们可以利用 . 与 RE 字符及 * 来配置 0 个到无限多个重复字节, 那如果我想要限制一个范围区间内的重复字节数呢?
比如说, 要找2个到4个 o 的连续字符, 此时就要用使用到限定范围的字符 { } 了, 但因为 { 与 } 的符号在 shell 是有特殊意义的, 因此, 我们必须要使用字符  \ 来让他失去特殊意义才行.

找2个到4个 o 的连续字符

找到2个o, 当oo连续出现时会多次匹配成功, 所以o全部高亮了

找2个以上的o的G/goo.....d, 下面两种都可以

参考资料 : https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

touch

基本用法 : touch (命令参数)  (命令对象)
功能描述 : 
两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式), 它们的数据将原封不动地保留下来; 二是用来创建新的空文件。
常用命令参数:
-a : 只更改存取时间。
-d : 使用指定的日期时间,而非现在的时间。
-m :只更改变动时间。
-r : 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

创建新文件

更新时间标签, 默认更改为当前时间

实例 :

时间格式为"时:分 月/日/年"

touch -d "6:03pm" file 

touch -d "05/09/2019" file 

touch -d "6:03pm 05/06/2000" file

touch -r file1 file2     //将file2的时间标签设置成与file1一样

tar 

功能描述 :
利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的. 也可以把一个打包好的文件解包(还原成打包之前的文件或目录)
注意 :
首先要弄清两个概念:打包和压缩。
打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
常用命令参数:
-c :建立一个压缩文件的参数指令(create 的意思)
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!也就是说 f 只能做最后一个参数
-p :用原来的文件权限还原文件
-C : 解压到指定目录

具体使用 :
1.  打包 -cvf 
  解包- xvf 打包后的路径及文件名  需要打包的文件路径及文件名  (注意: -cvf 和 -c -v -f是一样的, 还需要注意的是f必须在最后)(打包的文件我们习惯在后面加.tar)

-xvf 打包的文件路径及文件名 

如果要解包到其他目录下, 则先需要进入所需目录下, 再进行操作, 解包后的文件或目录就在所需目录下了呢

2. 压缩 -zcvf  (以gzip压缩)

            -jcvf(用bzip2压缩) 

    解压 (gzip压缩的用)   -zxvf  解压 

            (用bzip2压缩用) -jxvf  解压

注意:
1. gzip压缩我们一般给后缀 .tar.gz ,  bzip2压缩我们一般给后缀 .tar.bz2 
2. 压缩是在打包的基础上进行的 所以是在- cvf的基础上加上-z或-j压缩方式进行压缩
3. -zcvf 还是可以分开写 但f还是必须在最后, -jcvf 也一样

解压缩

zip/unzip

功能描述: zip将目录或文件压缩成zip格式, uzip将zip格式的压缩文件解压
常用命令参数:

-r : 递 归处理,将指定目录下的所有文件和子目录一并处理

压缩

解压 

5.其他命令: echo  ifconfig  Ctrl+c  Ctrl+l/clear  man

echo  

基本用法 : echo(选项)(参数)
功能描述 : 在显示器上显示一段文字, 一般起到一个提示的作用.
常用命令参数:
-e:激活转义字符
     \a 发出警告声
     \b 删除前一个字符
     \c 最后不加上换行符号
     \f 换行但光标仍旧停留在原来的位置
     \n 换行且光标移至行首
     \r 光标移至行首,但不换行
     \t 插入tab
     \v 与\f相同
     \\ 插入\字符

echo重定向还可以配合重定向符来使用, 像下面这样

ifconfig 

功能描述 : 配置和显示Linux内核中网络接口的网络参数
最简单的用法就是查看本机IP, 然后用Xshell连接了

Ctrl+c 

取消当前要输入的指令/结束当前进程

Ctrl+l/clear 

清屏

man 

功能描述 :Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐