linux运维过程中常用得命令

linux运维过程中常用的文件操作命令

一 .命令基本格式

[root@localhost ~]#
  • []:这是提示符的分隔符号,没有特殊含义。
  • root:显示的是当前的登录用户,超哥现在使用的是 root用户登录。
  • @:分隔符号,没有特殊含义。
  • localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
  • ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
  • #:命令提示符。超级用户是#,普通用户是$

二. 常见得目录操作命令

命令名称:ls

  • 英文原意:list。
  • 所在路径:/bin/ls。
  • 执行权限:所有用户。
  • 功能描述:显示目录下的内容。
[root@localhost ~]# ls [选项] [文件名/目录名]
# 选项:
 -a : 显示所有文件
 --col or=when: 支持颜色输出,when 的值默认是 al ways(总显示颜色),也可以是 never(从不显示颜色)和 aut o(自动)
 -d :显示目录信息,而不是目录下的文件
 -h :人性化显示,按照我们习惯的单位显示文件大小
 -i :显示文件的 i 节点号
 -l :长格式显示
 # 例如
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1399 624 21:42 anaconda-ks.cfg
[root@localhost ~]# ls -i
67144898 anaconda-ks.cfg
[root@localhost ~]# ls -h
anaconda-ks.cfg
[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
[root@localhost ~]# 

命令名称:cd

  • 英文原意:change directory。
  • 所在路径:Shell 内置命令。
  • 执行权限:所有用户。
  • 功能描述:切换所在目录。
[root@localhost bin]# cd /etc/
[root@localhost etc]# 
绝对路径:以跟目录为参照物,从根目录开始,一级一级进入目录
相对路径:以当前目录作为参照物,进行目录查找
# 简易使用
~ 代表用户的家目录
- 代表上次所在目录
. 代表当前目录
.. 代表上级目录
# 例如
[root@localhost bin]# cd /etc/
[root@localhost etc]# cd ~
[root@localhost ~]# cd -
/etc
[root@localhost etc]# cd .
[root@localhost etc]# cd ..
[root@localhost /]# 

命令名称:pwd

  • 英文原意:print name of current/worki ng di rectory
  • 所在路径:/bin/pwd
  • 执行权限:所有用户。
  • 功能描述:查询所在的工作目录。
[root@localhost /]# pwd
/
[root@localhost /]# cd /etc
[root@localhost etc]# pwd
/etc

命令名称:mkdir

  • 英文原意:make directories。
  • 所在路径:/bin/mkdir。
  • 执行权限:所有用户。
  • 功能描述:创建空目录。
[root@localhost ~]# mkdir sss
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 1399 624 21:42 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 624 22:24 sss

命令名称:rmdir

  • 英文原意:remove empty directories。
  • 所在路径:/ bi n/ rmdi r。
  • 执行权限:所有用户。
  • 功能描述:删除空目录。
[root@localhost ~]# rmdir sss
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 1399 624 21:42 anaconda-ks.cfg
rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。

三. 常见得文件操作命令

命令名称:touch

  • 英文原意:change file timestamps。
  • 所在路径:/bin/touch。
  • 执行权限:所有用户。
  • 功能描述:创建文件或修改文件的时间戳。
[root@localhost ~]# touch sss
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1399 624 21:42 anaconda-ks.cfg
-rw-r--r--. 1 root root   11 624 22:31 sss

命令名称:stat

  • 英文原意:display file or file system status。
  • 所在路径:/usr/bin/stat。
  • 执行权限:所有用户。
  • 功能描述:显示文件或文件系统的详细信息,而且可以看到文件的这三个时间。
[root@localhost ~]# stat anaconda-ks.cfg 
  文件:"anaconda-ks.cfg"
  大小:1399      	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:67144898    硬链接:1
权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2021-06-24 22:32:54.164513361 +0800
最近更改:2021-06-24 21:42:36.984005504 +0800
最近改动:2021-06-24 21:42:36.984005504 +0800
创建时间:-

命令名称:cat。

  • 英文原意:concatenate files and print on the standard output。
  • 所在路径:/bin/cat。
  • 执行权限:所有用户。
  • 功能描述:合并文件并打印输出到标准输出
[root@localhost ~]# cat [选项] 文件名
# 选项:
- A: 相当于- vET选项的整合,用于列出所有隐藏符号
- E:列出每行结尾的回车符$
- n: 显示行号
- T:把 Tab 键用^I 显示出来
- v:列出特殊字符

命令名称:more。

  • 英文原意:file perusal filter for crt viewin。
  • 所在路径:/bin/more。
  • 执行权限:所有用户。
  • 功能描述:分屏显示文件内容。

more命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。

常用的交互命令如下。
空格键:向下翻页。
b :向上翻页。
回车键:向下滚动一行。
/ 字符串:搜索指定的字符串。
q:退出。

命令名称:less

  • 英文原意:opposite of more。
  • 所在路径:/usr/bin/less。
  • 执行权限:所有用户。
  • 功能描述:分行显示文件内容

less命令和 more命令类似,只是 more是分屏显示命令,而 less是分行显示命令。

命令名称:head

  • 英文原意:output the first part of files。
  • 所在路径:/usr/bin/head。
  • 执行权限:所有用户。
  • 功能描述:显示文件开头的内容
# 选项:
- n:行数:从文件头开始,显示指定行数
- v:显示文件名
[root@localhost ~]# head -n 10 anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda

命令名称:tail

  • 英文原意:output the last part of files。
  • 所在路径:/usr/bin/tail。
  • 执行权限:所有用户。
  • 功能描述:显示文件结尾的内容。
# 选项:
- n 行数:从文件结尾开始,显示指定行数
- f :监听文件的新增内容 {一般用于查看日志文件}

命令名称:ln

  • 英文原意:make links between file。
  • 所在路径:/bin/ln。
  • 执行权限:所有用户。
  • 功能描述:在文件之间建立链接【软连接、硬链接】
[root@localhost ~]# ln [选项] 源文件 目标文件
# 选项:
- s:建立软链接文件。如果不加“- s”选项,则建立硬链接文件
- f :强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
[root@localhost opt]# ln /root/1 /opt/
# 建立硬链接文件,目标文件没有写文件名,会和原名一致
[root@localhost opt]# ln -s /root/2 /opt/22
[root@localhost opt]# ls -l
总用量 0
-rw-r--r--. 2 root root 0 624 22:43 1
lrwxrwxrwx. 1 root root 7 624 22:48 22 -> /root/2

硬链接与软连接的特征

硬链接特征:

  • 源文件和硬链接文件拥有相同的 Inode和 Block
  • 修改任意一个文件,另一个都改变
  • 删除任意一个文件,另一个都能使用
  • 硬链接标记不清,很难确认硬链接文件位置,不建议使用
  • 硬链接不能链接目录
  • 硬链接不能跨分区

软链接特征:

  • 软链接和源文件拥有不同的 Inode和 Block
  • 两个文件修改任意一个,另一个都改变
  • 删除软链接,源文件不受影响;删除源文件,软链接不能使用
  • 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
  • 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
  • 软链接可以链接目录
  • 软链接可以跨分区
  • 软链接特征明显,建议使用软连接

命令名称:rm

  • 英文原意:remove files or directories。
  • 所在路径:/bi n/rm。
  • 执行权限:所有用户。
  • 功能描述:强大的删除命令,不仅可以删除文件,也可以删除目录。
[root@localhost opt]# rm  -rf *  # 易误操作 
# 选项:
-f :强制删除(f orce)
-i :交互删除,在删除之前会询问用户
-r :递归删除,可以删除目录(recursive
# 可以使用正则表达式执行删除命令

命令名称:cp

  • 英文原意:copy files and directories。
  • 所在路径:/bin/cp。
  • 执行权限:所有用户。
  • 功能描述:复制文件和目录。
[root@localhost ~]# cp [ 选项] 源文件 目标文件
# 选项:
-a:相当于- dpr 选项的集合,这几个选项我们一一介绍
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r:递归复制,用于复制目录

命令名称:mv

  • 英文原意:move (rename) f iles
  • 所在路径:/bi n/mv。
  • 执行权限:所有用户。
  • 功能描述:移动文件或改名
[root@localhost ~]# mv [ 选项] 源文件 目标文件
# 选项:
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-v:显示详细信息

四. 常见的搜索命令

命令名称:whereis

  • 英文原意:locate the binary, source, and manual page files for a command。
  • 所在路径:/usr/bin/whereis。
  • 执行权限:所有用户。
  • 功能描述:查找二进制命令、源文件和帮助文档的命令。

命令名称:which。

  • 英文原意:shows the full path of (shell) commands。
  • 所在路径:/usr/bin/which。
  • 执行权限:所有用户。
  • 功能描述:列出命令的所在路径。

whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置;

而 which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令

命令名称:locate

  • 英文原意:find files by name。
  • 所在路径:/usr/bin/locate。
  • 执行权限:所有用户。
  • 功能描述:按照文件名搜索文件

优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db, 可以使用 updatedb 命令强制更新数据库。

缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改 时间等搜索文件。

[root@localhost ~]# vi / etc/ updat edb.conf
PRUNE_ BI ND_ MOUNTS = "yes"
#开启搜索限制,也就是让这个配置文件生效
P RUNEFS = " ……"
#在 l ocat e 执行搜索时,禁止搜索这些文件系统类型
P RUNENAMES = " ……"
#在 l ocat e 执行搜索时,禁止搜索带有这些扩展名的文件
P RUNEP AT HS = " ……"
#在 l ocat e 执行搜索时,禁止搜索这些系统目录

命令名称:find

  • 英文原意:search for files in a directory hierarchy。
  • 所在路径:/bin/find。
  • 执行权限:所有用户。
  • 功能描述:在目录中搜索文件。
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
# 选项:
-name:  按照文件名搜索
-i name:按照文件名搜索,不区分文件名大小写
-i num: 按照 i node 号搜索
- size [+|-] 大小:按照指定大小搜索文件
# 这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
- atime [+|-] 时间: 按照文件访问时间搜索
- mtime [+|-] 时间: 按照文件数据修改时间搜索
- ctime [+|-] 时间: 按照文件状态修改时间搜索
- perm  权限模式: 查找文件权限刚好等于“权限模式”的文件
- perm -权限模式:查找文件权限全部包含“权限模式”的文件
- perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件
- uid 用户ID:按照用户ID查找所有者是指定ID的文件
- gid 组ID:按照用户组ID查找所属组是指定ID的文件
- user 用户名:按照用户名查找所有者是指定用户的文件
- group 组名:按照组名查找所属组是指定用户组的文件
- nouser:查找没有所有者的文件
- type d :查找目录
- type f :查找普通文件
- type l :查找软链接文件
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值