0
点赞
收藏
分享

微信扫一扫

Linux常用指令学习(篇一):文件处理指令

爱写作的小土豆 2022-01-17 阅读 100

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

环境及相关软件:VMWare 14、CentOS 7、SecureCRT。


提示:以下是本篇文章正文内容,下面案例可供参考

一、查看Linux版本信息

以本文所在环境为例,在linux下查看已安装的CentOS相关版本信息可通过以下方法:

  1. Linux查看当前操作系统版本内核信息 uname
  • 显示全部信息uname -a
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

-显示帮助uname --help

[root@localhost ~]# uname --help
用法:uname [选项]...
输出一组系统信息。如果不跟随选项,则视为只附加-s 选项。

  -a, --all                     以如下次序输出所有信息。其中若-p 和
                                -i 的探测结果不可知则被省略:
  -s, --kernel-name             输出内核名称
  -n, --nodename                输出网络节点上的主机名
  -r, --kernel-release          输出内核发行号
  -v, --kernel-version          输出内核版本
  -m, --machine         输出主机的硬件架构名称
  -p, --processor               输出处理器类型或"unknown"
  -i, --hardware-platform       输出硬件平台或"unknown"
  -o, --operating-system        输出操作系统名称
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告uname 的翻译错误
要获取完整文档,请运行:info coreutils 'uname invocation'
  • 显示操作系统名称uname -suname --sysname
[root@localhost ~]# uname -s
Linux

[root@localhost ~]# uname --sysname
Linux
  • 显示电脑类型uname -muname --machine
[root@localhost ~]# uname -m
x86_64

[root@localhost ~]# uname --machine
x86_64
  1. Linux查看当前操作系统版本信息 cat /proc/version
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020
  1. linux查看版本当前操作系统发行信息 cat /etc/issuecat /etc/centos-release
[root@localhost ~]# cat /etc/issue
\S
Kernel \r on an \m

[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
  1. 查看系统版本信息的命令 lsb_release -a
    (使用命令时提示command not found,需要先执行安装命令 yum install redhat-lsb -y 后再输入)
[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core

二、文件处理命令

(一)命令格式与目录处理命令

1.命令格式

命令格式 :命令[-选项][参数]
说明 :
1) 个别命令使用不遵循此格式
2) 当有多个选项时,可以写在一起
3) 简化选项与完整选项 -a等于–all

2.显示目录文件:ls

命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls选项[-ald][文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性

  1. 查看当前目录的文件 ls
[root@localhost ~]# ls
anaconda-ks.cfg

/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息(该文件是用于 无人值守 安装依赖的配置文件)。

  1. 查看当前目录的所有文件(包括隐藏文件) ls -a
[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .lesshst  .tcshrc
  1. 查看指定目录的文件 ls /
[root@localhost ~]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

/:代表根目录

  1. 查看当前目录下所有文件的长清单模式(详细信息) ls -la
[root@localhost ~]# ls -la
总用量 32
dr-xr-x---.  2 root root  151 113 19:40 .
dr-xr-xr-x. 17 root root  224 18 02:26 ..
-rw-------.  1 root root 1421 18 02:26 anaconda-ks.cfg
-rw-------.  1 root root   35 113 18:27 .bash_history
-rw-r--r--.  1 root root   18 1229 2013 .bash_logout
-rw-r--r--.  1 root root  176 1229 2013 .bash_profile
-rw-r--r--.  1 root root  176 1229 2013 .bashrc
-rw-r--r--.  1 root root  100 1229 2013 .cshrc
-rw-------.  1 root root   45 113 19:40 .lesshst
-rw-r--r--.  1 root root  129 1229 2013 .tcshrc
- rw- r-- r–.1rootroot1812月 29 2013.bash_logout
(见下图解释)引用计数所有者所属组文件大小最后一次修改时间文件名
  • 下图是对第一列的简单解释:
    图1
  1. 显示指定目录本身的详细信息 ls -ld /etc
[root@localhost ~]# ls -ld /etc
drwxr-xr-x. 83 root root 8192 116 18:12 /etc

/etc/:配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等。

  1. 使得文件大小显示更人性化 ls -lh
[root@localhost ~]# ls -lh
总用量 4.0K
-rw-------. 1 root root 1.4K 18 02:26 anaconda-ks.cfg
  1. 显示当前目录文件的i节点(即文件的唯一标识)
[root@localhost ~]# ls -i
33574978 anaconda-ks.cfg

3.创建新目录:mkdir

命令英文原意: make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p[目录名]
功能描述:创建新目录
-p 递归创建

  1. 在tmp目录下创建一个目录day1 mkdir /tmp/day1
[root@localhost ~]# mkdir /tmp/day1
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1421 18 02:26 anaconda-ks.cfg
[root@localhost ~]# ls -l /tmp
总用量 4
drwxr-xr-x. 2 root root   6 116 20:46 day1
-rwx------. 1 root root 836 18 02:26 ks-script-_KSXlM
drwx------. 3 root root  17 115 22:49 systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd
drwx------. 3 root root  17 113 04:36 systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3
drwx------. 3 root root  17 116 15:22 systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5
drwx------. 3 root root  17 116 18:12 systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa
drwx------. 2 root root   6 115 22:49 vmware-root_664-2722697761
drwx------. 2 root root   6 116 15:22 vmware-root_666-2731021219
drwx------. 2 root root   6 116 18:12 vmware-root_667-3980363901
drwx------. 2 root root   6 113 04:36 vmware-root_673-3988556249
drwx------. 2 root root   6 18 02:27 vmware-root_697-3988163015
-rw-------. 1 root root   0 18 02:22 yum.log

/tmp/:临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空。

  1. 递归创建 mkdir -p /tmp/day2/test1
[root@localhost ~]# mkdir -p /tmp/day2/test1
[root@localhost ~]# ls /tmp/day2            
test1
  1. 同时创建多个目录
    mkdir /tmp/day1/test1 /tmp/day1/test2
[root@localhost ~]# mkdir /tmp/day1/test1 /tmp/day1/test2
[root@localhost ~]# ls /tmp/day1
test1  test2

4.切换目录及显示当前目录:cd和pwd

  • 命令英文原意: change directory
    命令所在路径::shell内置命令
    执行权限:所有用户
    语法::cd[目录]
    功能描述:切换目录
  • 命令英文原意:print working directory
    命令所在路径:/bin/pwd
    执行权限:所有用户
    语法: pwd
    功能描述:显示当前目录
  1. 切换到指定目录 cd /tmppwd
[root@localhost ~]# cd /tmp
[root@localhost tmp]# pwd
/tmp
  1. 切换到上一级目录 cd …
[root@localhost tmp]# cd ..
[root@localhost /]# pwd    
/

5.删除空目录:rmdir(了解)

命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法::rmdir[目录名]
功能描述:删除空目录

[root@localhost ~]# ls /tmp/day1
test1  test2
[root@localhost ~]# rmdir /tmp/day1/test1
[root@localhost ~]# ls /tmp/day1         
test2

6.复制文件或目录:cp

命令英文原意::copy
命令所在路径:/bin/cp
执行权限:所有用户
语法::cp -rp[原文件或目录][目标目录]
-r 复制目录
-p 保留文件属性
功能描述:复制文件或目录

  1. 复制指定文件到目标目录
[root@localhost ~]# cp /etc/locale.conf /tmp    
[root@localhost ~]# ls /tmp
day1
day2
ks-script-_KSXlM
locale.conf
systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd
systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3
systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5
systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa
vmware-root_664-2722697761
vmware-root_666-2731021219
vmware-root_667-3980363901
vmware-root_673-3988556249
vmware-root_697-3988163015
yum.log
  1. 复制目录 cp -r
[root@localhost ~]# cp -r /tmp/day1 /root
[root@localhost ~]# ls
anaconda-ks.cfg  day1
  1. 复制多个文件到目标目录
[root@localhost ~]# cp /etc/yum.conf /etc/sudo.conf /tmp
[root@localhost ~]# ls -l /tmp
总用量 16
drwxr-xr-x. 3 root root   19 116 21:10 day1
drwxr-xr-x. 3 root root   19 116 20:52 day2
-rwx------. 1 root root  836 18 02:26 ks-script-_KSXlM
-rw-r--r--. 1 root root   19 116 21:18 locale.conf
-rw-r-----. 1 root root 1786 116 21:31 sudo.conf
drwx------. 3 root root   17 115 22:49 systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd
drwx------. 3 root root   17 113 04:36 systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3
drwx------. 3 root root   17 116 15:22 systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5
drwx------. 3 root root   17 116 18:12 systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa
drwx------. 2 root root    6 115 22:49 vmware-root_664-2722697761
drwx------. 2 root root    6 116 15:22 vmware-root_666-2731021219
drwx------. 2 root root    6 116 18:12 vmware-root_667-3980363901
drwx------. 2 root root    6 113 04:36 vmware-root_673-3988556249
drwx------. 2 root root    6 18 02:27 vmware-root_697-3988163015
-rw-r--r--. 1 root root  970 116 21:31 yum.conf
-rw-------. 1 root root    0 18 02:22 yum.log
  1. 复制目录,并保留目录属性 *cp -rp
[root@localhost ~]# ls -l /tmp/day1
总用量 0
drwxr-xr-x. 2 root root 6 116 20:55 test2
[root@localhost ~]# cp -rp /tmp/day1/test2 /root
[root@localhost ~]# ls -l  /root                
总用量 4
-rw-------. 1 root root 1421 18 02:26 anaconda-ks.cfg
drwxr-xr-x. 3 root root   19 116 21:25 day1
drwxr-xr-x. 2 root root    6 116 20:55 test2
  1. 复制目录,并将复制的目录改名
[root@localhost ~]# cp -rp /tmp/day2/test1 /root/learn2
[root@localhost ~]# ls -l  /root                       
总用量 4
-rw-------. 1 root root 1421 18 02:26 anaconda-ks.cfg
drwxr-xr-x. 3 root root   19 116 21:25 day1
drwxr-xr-x. 2 root root    6 116 20:55 learn1
drwxr-xr-x. 2 root root    6 116 20:52 learn2
drwxr-xr-x. 2 root root    6 116 20:55 test2

7.剪切文件、改名:mv(谨慎操作)

命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv[原文件或目录][目标目录]
功能描述:剪切文件、改名

  1. 剪切目录或文件
[root@localhost ~]# ls /root
anaconda-ks.cfg  day1  learn1  learn2  test2
[root@localhost ~]# ls /tmp
day1
day2
ks-script-_KSXlM
locale.conf
sudo.conf
systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd
systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3
systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5
systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa
vmware-root_664-2722697761
vmware-root_666-2731021219
vmware-root_667-3980363901
vmware-root_673-3988556249
vmware-root_697-3988163015
yum.conf
yum.log
[root@localhost ~]# mv /tmp/day2 /root
[root@localhost ~]# ls /root          
anaconda-ks.cfg  day1  day2  learn1  learn2  test2
[root@localhost ~]# ls /tmp           
day1                                                                     vmware-root_664-2722697761
ks-script-_KSXlM                                                         vmware-root_666-2731021219
locale.conf                                                              vmware-root_667-3980363901
sudo.conf                                                                vmware-root_673-3988556249
systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd  vmware-root_697-3988163015
systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3  yum.conf
systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5  yum.log
systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa
  1. 对目录或文件改名
[root@localhost ~]# ls /root          
anaconda-ks.cfg  day1  day2  learn1  learn2  test2
[root@localhost ~]# mv test2 test1
[root@localhost ~]# ls /root      
anaconda-ks.cfg  day1  day2  learn1  learn2  test1

8.删除文件或目录:rm(谨慎操作)

命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法::rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件

  1. 删除文件 rm
[root@localhost ~]# cp /etc/yum.conf /root
[root@localhost ~]# ls /root
anaconda-ks.cfg  day1  day2  learn1  learn2  test1  yum.conf
[root@localhost ~]# rm yum.conf 
rm:是否删除普通文件 "yum.conf"?y
[root@localhost ~]# ls /root    
anaconda-ks.cfg  day1  day2  learn1  learn2  test1

其中,y表示yes,n表示no。另外,Linux中没有回收站,难恢复。
2. 强制删除文件 rm -f

[root@localhost ~]# cp /etc/yum.conf /root    
[root@localhost ~]# rm -f yum.conf           
[root@localhost ~]# ls /root              
anaconda-ks.cfg  day1  day2  learn1  learn2  test1
  1. 强制删除目录 rm -rf
[root@localhost ~]# ls /root              
anaconda-ks.cfg  day1  day2  learn1  learn2  test1
[root@localhost ~]# rm -rf learn1   
[root@localhost ~]# ls /root      
anaconda-ks.cfg  day1  day2  learn2  test1

(二)文件处理命令

9.创建空文件:touch

命令所在路径:/bin/touch
执行权限:所有用户
语法:touch[文件名]
功能描述:创建空文件

  1. 在指定目录创建空文件
[root@localhost ~]# touch /tmp/study.list /tmp/"program files"
[root@localhost ~]# ls /tmp
day1              systemd-private-0dd6a9e7e1024e15ba73db310090c201-chronyd.service-vyFtyd  vmware-root_667-3980363901
ks-script-_KSXlM  systemd-private-86a69b4ef3cf440e9e3cd345c20f1569-chronyd.service-jVuvd3  vmware-root_673-3988556249
locale.conf       systemd-private-d8000b3920d44f71b59a0531fec19d10-chronyd.service-n1KqK5  vmware-root_697-3988163015
program files     systemd-private-edafe6e8a1284b37be6c9a30e921f73f-chronyd.service-3z0bxa  yum.log
study.list        vmware-root_664-2722697761
sudo.conf         vmware-root_666-2731021219

注: 创建一个带空格的文件名需要加个”“。

10.显示文件内容:cat(只适合查看内容少的文件)

命令所在路径:/bin/cat
执行权限:所有用户
语法:cat[文件名]
功能描述:显示文件内容
-n 显示行号

  1. 查看文件内容(正向)
[root@localhost ~]# cat -n /etc/issue
     1  \S
     2  Kernel \r on an \m
     3

11.显示文件内容(反向列示):tac

命令所在路径:/usr/bin/tac
执行权限:所有用户
语法:tac[文件名]
功能描述:显示文件内容(反向列示)

  1. 查看文件内容(反向)
[root@localhost ~]# tac /etc/issue   

Kernel \r on an \m
\S

12.分页显示文件内容:more(适合查看内容多的文件)(重要)

命令所在路径:/bin/more
执行权限:所有用户
语法:more[文件名]
(空格)或f 翻页
(Enter) 换行
q或Q 退出
功能描述:分页显示文件内容
范例:$ more /etc/services

13.分页显示文件内容(可向上翻页):less(比more功能更强些)

命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less[文件名]
命令所在路径:/usr/bin/less执行权限:所有用户
语法:less[文件名]
(空格)或f 翻页
(Enter) 换行
q或Q 退出
PageUp 往上翻页
↑ 上一行
/关键词+Enter 搜索关键词
n 查看下一个关键词(next)
功能描述:分页显示文件内容(可向上翻页)

14.显示文件前几行:head

命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head[文件名]
功能描述:显示文件前面几行
-n 指定行数

  1. 显示文件前几行
[root@localhost ~]# head -n 5 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10

注:当不指定行号时,默认显示前十行。

15.显示文件后几行:tail(用法见head)

命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail[文件名]
功能描述:显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容

(三)链接命令

16.生成链接文件:ln

命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s[原文件][目标文件]
-s 创建软链接
功能描述:生成链接文件

总结

提示:这里对文章进行总结:
未完待续。。。

举报

相关推荐

0 条评论