Linux常用命令——文件以及目录的操作

因为疫情原因工作出现了调整,后续可能常接触这些命令了,发现网上内容很难找到有一个能介绍所有命令的文章,所以这里整理了一些内容。

其他命令

用户以及用户组管理

压缩和解压、搜索、日期的操作

文件以及目录的操作

权限,线程、系统健康度、磁盘情况

命令汇总

作用命令示例
显示当前工作目录的绝对路径pwdpwd
列出目录的内容ls [选项] [目录或是文件]ls
切换目录cdcd /usr/local
创建一个新的目录mkdir [选项] 要创建的目录mkdir -p test1/test2/test3
删除一个空的目录rmdir 要删除的空目录rmdir test
创建空文件touch 文件名称touch mytest.txt
复制文件或目录cp [选项] [源] [目标]cp -r test1/test2/test3 ./
移除文件或目录rm [选项] deleteFiletouch mytest3.txt
移动文件与目录或重命名mv oldNameFile newNameFilemv /temp/movefile /targetFolder
查看文件内容cat [选项] 要查看的文件cat elasticsearch.yml
文件内容分屏查看器more 要查看的文件more elasticsearch.yml
分屏显示文件内容less 要查看的文件less elasticsearch.yml
显示文件头部内容head 要查看的文件 (查看头10行内容)head elasticsearch.yml
输出文件尾部内容tail 要查看的文件 (查看头10行内容)tail -n 5 elasticsearch.yml
内容覆盖和追加>echo "abc" > mytest.txt
软链接ln -s [原文件或目录] [软链接名]ln -s mytest.txt mylink.txt
删除软连接rm -rf [软链接名]rm -rf mylink.txt
进入链接目录cd -P [软链接名]cd -P linkdir/
查找文件或者目录find [搜索范围] [选项]find -name elasticsearch.yml

文件目录类命令

下面是具体的介绍

显示当前工作目录的绝对路径

语法

pwd

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ ~]# pwd
/root

列出目录的内容

语法

ls [选项] [目录或是文件]

可配置参数

参数作用
-a全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-l长数据串列出,包含文件的属性与权限等等数据;(常用)

实际语句


[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp


[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls -a
.  ..  bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp


[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls -l
dr-xr-xr-x.   2 root root 36864 Apr 20 18:08 bin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 etc
drwxr-xr-x.   2 root root  4096 Apr 11  2018 games
drwxr-xr-x.  45 root root  4096 Apr 20 17:56 include
dr-xr-xr-x.  43 root root  4096 Apr 20 17:55 lib
dr-xr-xr-x.  52 root root 36864 Apr 20 17:57 lib64
drwxr-xr-x.  26 root root  4096 Apr 27 00:40 libexec
drwxr-xr-x.  30 root root  4096 Aug  2 16:22 local
dr-xr-xr-x.   2 root root 20480 Sep  2 03:11 sbin
drwxr-xr-x. 115 root root  4096 Apr 20 17:55 share
drwxr-xr-x.   4 root root  4096 Feb 15  2019 src
lrwxrwxrwx.   1 root root    10 Feb 15  2019 tmp -> ../var/tmp

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls -al
total 140
drwxr-xr-x.  13 root root  4096 Apr  5 22:46 .
dr-xr-xr-x.  19 root root  4096 Apr  5 22:54 ..
dr-xr-xr-x.   2 root root 36864 Apr 20 18:08 bin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 etc
drwxr-xr-x.   2 root root  4096 Apr 11  2018 games
drwxr-xr-x.  45 root root  4096 Apr 20 17:56 include
dr-xr-xr-x.  43 root root  4096 Apr 20 17:55 lib
dr-xr-xr-x.  52 root root 36864 Apr 20 17:57 lib64
drwxr-xr-x.  26 root root  4096 Apr 27 00:40 libexec
drwxr-xr-x.  30 root root  4096 Aug  2 16:22 local
dr-xr-xr-x.   2 root root 20480 Sep  2 03:11 sbin
drwxr-xr-x. 115 root root  4096 Apr 20 17:55 share
drwxr-xr-x.   4 root root  4096 Feb 15  2019 src
lrwxrwxrwx.   1 root root    10 Feb 15  2019 tmp -> ../var/tmp

返回内容解释

使用l返回的信息内容

dr-xr-xr-x.     文件类型与权限 

2               链接数 

root            文件属主

root            文件属组 

36864           文件大小用byte来表示 

Apr 20 18:08    建立或最近修改的时间 

bin             名字 

切换目录

语法

cd  [参数]

可配置参数

参数作用
路径回到根目录
~或者空路径切换路径
-回到上次目录
回到上一级目录录
-P跳转到实际物理路径,而非快捷方式路径

实际语句

cd /root/

返回结果

## 此时操作后已经切换到local
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# cd /usr/local
[root@iZbp1buyhgwtrw6hrp2ugjZ local]# 

返回内容解释


创建一个新的目录

语法

mkdir [选项] 要创建的目录

可配置参数

参数作用
路径回到根目录
-p创建多层目录

实际语句

# 单个
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# mkdir test
# 多层
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# mkdir -p test1/test2/test3



删除一个空的目录

语法

rmdir 要删除的空目录

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# rmdir test

注意尝试删除非空文件会报错

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty


创建空文件

语法

touch 文件名称

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# touch mytest.txt

复制文件或目录

语法

cp [选项] [] [目标]

可配置参数

参数作用
路径回到根目录
-r递归复制整个文件夹

实际语句

## 此时会将test3文件复制到当前目录下
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# cp -r test1/test2/test3 ./

移除文件或目录

语法

rm [选项] deleteFile

可配置参数

参数作用
路径回到根目录
-r递归删除目录中所有内容
-f强制执行删除操作,而不提示用于进行确认。
-v显示指令的详细执行过程

实际语句

# 可以设置-f 强制删除不进行确认
# 或者使用-r 递归删除目录中所有内容
# 或者使用-rf 递归删除且不确认
[root@iZbp1buyhgwtrw6hrp2ugjZ test3]# touch mytest3.txt
[root@iZbp1buyhgwtrw6hrp2ugjZ test3]# rm mytest3.txt 
rm: remove regular empty file ‘mytest3.txt’? y
[root@iZbp1buyhgwtrw6hrp2ugjZ test3]# 


移动文件与目录或重命名

语法

-- 重命名
mv oldNameFile newNameFile
-- 移动文件
mv /temp/movefile /targetFolder

查看文件内容

语法

cat  [选项] 要查看的文件

可配置参数

参数作用
路径回到根目录
-n显示所有行的行号,包括空行。

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# cat elasticsearch.yml

# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
......

或者显示行号

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# cat -n elasticsearch.yml
     1	# ======================== Elasticsearch Configuration =========================
     2	#
     3	# NOTE: Elasticsearch comes with reasonable defaults for most settings.
     4	#       Before you set out to tweak and tune the configuration, make sure you
......

文件内容分屏查看器

语法

more 要查看的文件

操作

参数作用
路径回到根目录
空格键 (space)代表向下翻一页
Enter代表向下翻一行
q代表立刻离开 more
Ctrl+f向下滚动一屏
Ctrl+b返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号

实际语句

此时显示的内容不再是全部而是只显示一部分,具体操作可以上上面表格

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# more elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
.......
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
--More--(33%)

分屏显示文件内容

less在显示文件内容的时候根据显示的需要再去加载内容,用来显示数据比较多的文件

语法

less 要查看的文件

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# less elasticsearch.yml


显示文件头部内容

语法

head 要查看的文件 (查看头10行内容)

head -n [指定数字] 文件 (查看头 指定数字 行内容)

可选参数

参数作用
-n<行数>指定显示头部内容的行数

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# head elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:

## 查看5行
[root@iZbp1buyhgwtrw6hrp2ugjZ config]# head -n 5 elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.


输出文件尾部内容

语法

tail 要查看的文件 (查看头10行内容)

tail -n [指定数字] 文件 (查看头 指定数字 行内容)

可选参数

参数作用
-n<行数>指定显示头部内容的行数

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ config]# tail elasticsearch.yml
#
#action.destructive_requires_name: true 

http.cors.enabled: true 

http.cors.allow-origin: "*" 

node.master: true 

node.data: true 

## 查看后5行
[root@iZbp1buyhgwtrw6hrp2ugjZ config]# tail -n 5 elasticsearch.yml
http.cors.allow-origin: "*" 

node.master: true 

node.data: true 


内容覆盖和追加

语法

命令作用
>左侧内容覆盖到右侧文件中
>>左侧内容追加到右侧文件尾部

实际语句

覆盖写

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# echo "abc" > mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls -l>mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# echo "abc" > mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# cat mytest2.txt > mytest.txt

追加

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# echo "abc" > mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls -l>mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# echo "abc" > mytest.txt 
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# cat mytest2.txt > mytest.txt

软链接

语法

ln -s [原文件或目录] [软链接名]

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ln -s mytest.txt mylink.txt

此时使用ll可以看到结果

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ll
total 148
dr-xr-xr-x.   2 root root 36864 Apr 20 18:08 bin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 etc
drwxr-xr-x.   2 root root  4096 Apr 11  2018 games
drwxr-xr-x.  45 root root  4096 Apr 20 17:56 include
dr-xr-xr-x.  43 root root  4096 Apr 20 17:55 lib
dr-xr-xr-x.  52 root root 36864 Apr 20 17:57 lib64
drwxr-xr-x.  26 root root  4096 Apr 27 00:40 libexec
drwxr-xr-x.  30 root root  4096 Aug  2 16:22 local
lrwxrwxrwx    1 root root    10 Sep  7 21:37 mylink.txt -> mytest.txt

删除软连接

语法

rm -rf [软链接名]

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# rm -rf mylink.txt 

# 此时链接已经不存在了
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ls
bin  games    lib    libexec  mytest2.txt  sbin   src    test3
etc  include  lib64  local    mytest.txt   share  test1  tmp


进入链接目录

语法

cd -P [软链接名]

实际语句

[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# ln -s /usr/local/elasticsearch-7.2.0/  linkdir
[root@iZbp1buyhgwtrw6hrp2ugjZ usr]# cd -P linkdir/
[root@iZbp1buyhgwtrw6hrp2ugjZ elasticsearch-7.2.0]# 

查找文件或者目录

语法

find [搜索范围] [选项]

参数说明

搜索范围

参数说明
-name按照指定的文件名查找模式查找文件
-user查找属于指定用户名所有文件
-size按照指定的文件大小查找文件。

size选项

单位说明
c字节
b块,一块为512字节
wwords为单位,一个words是2个字节
k1024字节
MMB
GGB

实际语句

查找名字为elasticsearch.yml的文件

[root@iZbp1buyhgwtrw6hrp2ugjZ elasticsearch-7.2.0]# find -name  elasticsearch.yml
./config/elasticsearch.yml

查找config/文件下小于21M的文件。"+" 大于 ; “-” 小于 ; ""等于

[root@iZbp1buyhgwtrw6hrp2ugjZ elasticsearch-7.2.0]# find config/ -size -21M
config/
config/users
config/elasticsearch.keystore
config/jvm.options
config/elasticsearch.yml
config/roles.yml
config/users_roles
config/role_mapping.yml
config/log4j2.properties


个人水平有限,上面的内容可能存在没有描述清楚或者错误的地方,假如开发同学发现了,请及时告知,我会第一时间修改相关内容。假如我的这篇内容对你有任何帮助的话,麻烦给我点一个赞。你的点赞就是我前进的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大·风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值