linux常用命令精讲

linux常用命令精讲

一.linux命令基础

1.Linux的哲学思想

  • 一切都是一个文件。(包括硬件,文本,二进制,源代码)
  • 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
  • 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
  • 避免令人困惑的用户界面就是没有复杂的图形界面。
  • 连配置文件都存储在文本中,方便增删改查。
  • 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。

2.什么是shell

  • Linux系统中运行的一种特殊程序
  • 在用户和内核之间充当“翻译官”
  • 用户登录Linux系统时,自动加载一个shell程序
  • bash是Linux系统中默认使用的shell程序

文件位于/bin/bash

img

3.linux命令的分类

  • 内部命令与外部命令的区别

内部命令:

  • 集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
  • 属于shell的一部分
  • 没有单独的对应系统文件
  • 自动载入内存,可直接使用

外部命令:

  • linux系统中能够完成特定功能的脚本文件或二进制程序
  • 属于shell翻译器程序外的命令
  • 每个外部命令对应了系统中的一个文件
  • 必须知道其对应的文件位置,由shell加载后才能执行

4.Linux命令行的格式

  • 通用的命令行使用格式
  • 命令字空格[选项]空格[参数]

命令字:

  • 是整条命令最关键的一部分
  • 唯一确认一条命令

选项:

  • 短格式选项:使用”-“符号引导(多个单字符选项可以组合在一起)
  • 长格式选项:使用”--“符号引导

参数:

  • 命令字的处理对象
  • 可以是文件名、目录(路径)名或用户名等内容
  • 个数可以是零到多个

二.Linux命令帮助

1.快捷键

快捷键 功能
Tab 键 自动补齐(两次可以显示所有选项)
反斜杠“\” 强制换行或转义
Ctrl+a 光标移到最前
Ctrl+e end 键 光标移到最后
Ctrl+U 清空至行首不包括当前光标处的 字符
Ctrl+K 清空至行尾包括当前光标处的字符
Ctrl+w 从当前光标删除到开头
ALT+d 从当前光标删除末尾
Ctrl+l 清屏
Ctrl+c 取消本次命令编辑
Ctrl+s/Ctrl+q 锁屏/解锁
向上下箭头 回看执行过的命令

2.帮助命令

help

oot@localhost ~]# help echo      #查看内部帮助命令
echo: echo [-neE] [参数 ...]
    将参数写到标准输出。
    

```bash
在标准输出上显示 ARG 参数后跟一个换行。

选项:
  -n	不要追加换行
  -e	启用下列反斜杠转义的解释
  -E	显式地抑制对于反斜杠转义的解释

`echo' 对下列反斜杠字符进行转义:
  \a	警告(响铃)
  \b	退格
  \c	抑制更多的输出
  \e	转义字符
  \f	格式提供
  \n	换行
  \r	回车
  \t	横向制表符
  \v	纵向制表符
  \\	反斜杠
  \0nnn	以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是
	0到3个八进制数字
  \xHH	以 HH (十六进制)为值的八比特字符。HH可以是
	一个或两个十六进制数字
```

--help

[root@localhost ~]# useradd --help      #帮助查看外部命令
用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR	新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults		显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP		新账户主组的名称或 ID
  -G, --groups GROUPS	新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR	使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init	不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home	创建用户的主目录
  -M, --no-create-home		不创建用户的主目录
  -N, --no-user-group	不创建同名的组
  -o, --non-unique		允许使用重复的 UID 创建用户
  -p, --password PASSWORD		加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL		新账户的登录 shell
  -u, --uid UID			新账户的用户 ID
  -U, --user-group		创建与用户同名的组
  -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER

man

man 分为九个章节默认打开第一张

[root@localhost ~]# man man         #查看帮助手册
man(1)                      General Commands Manual                      man(1)

NAME
       man - 格式化并显示在线帮助手册页
       manpath - 定义用户查找man手册页的路径

总览
       man   [-acdfFhkKtwW]  [-m  系统名] [-p <前处理程序>] [-C <配置文件>] [-M
       <路径>] [-P <浏览方式>] [-S <区段清单>] [区段名称] 帮助主题 ...

描述
       man  格式化并显示在线帮助手册页面。此版本支持  MANPATH  和  (MAN)PAGER
       环境变量,因此,你可以拥有你自己的一系列                             man
       手册页并决定使用哪个程序来显示此格式的页面。如果定义了区段,         man
       将只查找在指定区段内的文档。你也可以通过命令行或环境变量来指定查找区段
       的顺序和预定义将要执行的程序。如果主题中有“/”符号,则将其作为文件名的一部分
处理
       ,也就是说你可以用 man ./foo.5 也可以用 man /cd/foo/bar.1.gz 来查看各man
       文档。

选项
       -C 配置文件
              定义man.conf供使用;默认使用的是     /etc/man.config     。(参见
              man.conf(5))。

       -M 路径
              定义一组查找man手册页的目录。如果没有指定此参数,系统环境变量
              MANPATH将被使用。 如果查无到此环境变量,则按默认  /etc/man.config
              文件中指定的查找。一个空的 MANPATH 子字 符串表示使用默认清单。
    
       -P 浏览方式
              定义浏览的方式。此选项将覆盖    MANPAGER   环境变量(此变量将覆盖
              PAGER   变量)。若不指定   此参数,则使用   MANPAGER   或   PAGER
              环境变量中的设置。此选项的预设的显示方式为 /usr/bin/less-is。
    
       -S 区段清单

info

info也可以查看相关的帮助信息

三.目录与文件基本操作

1.查看切换显示统计目录

pwd

[root@localhost bin]# pwd               #显示当前路径
/bin
[root@localhost bin]# pwd -P            #显示真实路径
/usr/bin

cd

命令 效果
cd cd ~ 若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd - 到前一次目录
一个点号“.”开头 表示以当前的工作目录作为起点(已点开头的是)
两个点号“..”开头 表示以当前目录的上一级目录(父目录)作为起点
“~用户名”形式开头 表示以指定用户的宿主目录(家目录)作为起点
"."开头文件 表示隐藏文件
[root@localhost bin]# cd
[root@localhost ~]# cd ~
[root@localhost ~]# cd /opt
[root@localhost opt]# cd
[root@localhost ~]# cd /opt
[root@localhost opt]# cd ~
[root@localhost ~]# cd -
/opt
[root@localhost opt]# cd .
[root@localhost opt]# cd ..
[root@localhost /]# 
[root@localhost ~]# ls -a    #这里可以看出很多以点开头的文件,这些都是隐藏文件
.                .bashrc               .local        .viminfx.tmp  图片
..               .cache                log.txt       .viminfy.tmp  文档
123              .config               .tcshrc       .viminfz.tmp  下载
1.txt            .cshrc                touch         .xauth6PY6Hc  音乐
anaconda-ks.cfg  .dbus                 .viminfo      .Xauthority   桌面
.bash_history    .esd_auth             .viminfo.tmp  公共
.bash_logout     .ICEauthority         .viminfv.tmp  模板
.bash_profile    initial-setup-ks.cfg  .viminfw.tmp  视频

ls

格式

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

选项 效果
-l 已长格式显示文件和目录列表 ll=ls -l
-a 显示全部文件包括隐藏文件
-A 显示全部文件或隐藏文件,但不包括.和..
-d 只显示当前目录
-h 友好显示文件大小
-R 递归显示该目录及该目录子目录下的所有内容
--color 显示颜色
-s 按从大到小排序
[root@localhost ~]# ll           #以长格式显示文件或目录列表
总用量 16
-rw-r--r--. 1 root root    8 122 23:46 123
-rw-r--r--. 1 root root    0 120 11:32 1.txt
-rw-------. 1 root root 2130 1231 21:10 anaconda-ks.cfg
-rw-r--r--. 1 root root 2178 1231 21:14 initial-setup-ks.cfg
-rw-r--r--. 1 root root  633 122 23:36 log.txt
drwxr-xr-x. 1 root root    0 120 11:17 touch
drwxr-xr-x. 1 root root    0 118 15:45 公共
drwxr-xr-x. 1 root root    0 118 15:45 模板
drwxr-xr-x. 1 root root    0 118 15:45 视频
drwxr-xr-x. 1 root root    0 118 15:45 图片
drwxr-xr-x. 1 root root    0 118 15:45 文档
drwxr-xr-x. 1 root root    0 118 15:45 下载
drwxr-xr-x. 1 root root    0 118 15:45 音乐
drwxr-xr-x. 1 root root    0 118 15:45 桌面

解释:-rw-r--r--. 1 root root 8 1月 22 23:46 123

-: 代表文件属性(普通文件 或文件夹)

rw-r--r--:代表权限(可读、可写、可执行)

1:硬连接快捷方式

第一个root:属主(文件的主人)

第二个root:属组(属于哪个组)

8:文件大小

1月 22 23:46:修改时间

123:文件名

1.不同文件的表示

  • - 普通文件
  • d 目录文件directory
  • l 符号链接文件link
  • b 块设备block 比如直接读1块 /dev 4k (512*8(扇区)=4096字节=4k)
  • c 字符设备character 一个字符一个字符读取 /dev/zero (/dev/null)
  • p 管道文件pipe 两个软件联系 A-管道文件-B A 写 B 读 单向的
  • s 套接字文件socket 可以双向的
[root@localhost ~]# ls -a             #显示全部文件包括隐藏文件
.                .bashrc               .local        .viminfx.tmp  图片
..               .cache                log.txt       .viminfy.tmp  文档
123              .config               .tcshrc       .viminfz.tmp  下载
1.txt            .cshrc                touch         .xauth6PY6Hc  音乐
anaconda-ks.cfg  .dbus                 .viminfo      .Xauthority   桌面
.bash_history    .esd_auth             .viminfo.tmp  公共
.bash_logout     .ICEauthority         .viminfv.tmp  模板
.bash_profile    initial-setup-ks.cfg  .viminfw.tmp  视频
[root@localhost ~]# ls -A             #显示全部文件或隐藏文件,但不包括.和..
123              .cache                .local        .viminfw.tmp  模板
1.txt            .config               log.txt       .viminfx.tmp  视频
anaconda-ks.cfg  .cshrc                .tcshrc       .viminfy.tmp  图片
.bash_history    .dbus                 touch         .viminfz.tmp  文档
.bash_logout     .esd_auth             .viminfo      .xauth6PY6Hc  下载
.bash_profile    .ICEauthority         .viminfo.tmp  .Xauthority   音乐
.bashrc          initial-setup-ks.cfg  .viminfv.tmp  公共          桌面
[root@localhost ~]# ls -d            #只显示当前目录
.
[root@localhost opt]# ls -lh         #以长格式友好显示文件大小
总用量 12K
-rw-r--r--. 1 root root    0 27 16:46 123.txt
-rw-r--r--. 1 root root   13 215 14:26 1.txt
-rw-r--r--. 1 root root    9 128 13:43 2.txt
drwxr-xr-x. 1 root root    4 120 15:00 aa
drwxr-xr-x. 1 root root 4.9K 121 10:21 etc
lrwxrwxrwx. 1 root root   42 27 16:51 ifcfg-ens33 -> /etc/sysconfig/network-scripts/ifcfg-ens33
drwxr-xr-x. 1 root root    0 326 2015 rh
[root@localhost ~]# ls -R          #递归显示该目录及该目录子目录下的所有内容
.:
123    anaconda-ks.cfg       log.txt  公共  视频  文档  音乐
1.txt  initial-setup-ks.cfg  touch    模板  图片  下载  桌面

./touch:

./公共:

./模板:

./视频:

./图片:

./文档:

./下载:

./音乐:

./桌面:
[root@localhost opt]# ls --color       #显示颜色

颜色表示的文件类型:

  • 黑色数据文件 TXT
  • 绿色 可执行文件
  • 黄色 块设备文件
  • 红色 压缩包
  • 蓝色 文件夹
  • 天蓝色 连接文件(快捷方式)

vim /etc/DIR_COLORS

#颜色在这里显示

[root@localhost ~]# ls -s        #按从大到小排序
总用量 16
4 123                   4 log.txt  0 模板  0 文档  0 桌面
4 anaconda-ks.cfg       0 touch    0 视频  0 下载
4 initial-setup-ks.cfg  0 公共     0 图片  0 音乐

通配符

符号 效果
匹配一个字符 f?.txt
* 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
1到10
a b c ...z
A B C .....Z(这里注意范围aA到小z不包括大Z)
[123] 取其中之一有就显示没有也没关系
[a-z] 范围需要注意
[0-9] 匹配数字范围(0123456789)
\ 转义符,表示原来的意思
[[:lower:]] 小写字母表示 a-z
[[:upper:]] 大写字母表示 A-Z
[^zhou] 匹配列表中的所有字符以外的字符
[[:digit:]] 任意数字,相当于0-9

alias

设置别名

alias 命令别名=命令

[root@localhost mnt]# alias myvim='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
 #将网卡配置命令设置别名为myvim
[root@localhost mnt]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias myvim='vim /etc/sysconfig/network-scripts/ifcfg-ens33'      #这里可看出以设置
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost mnt]# myvim       #打开命令
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ec6be8ad-89d7-4f71-b634-93348efc9612
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.88.10
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DNS1=8.8.8.8
[root@localhost mnt]# unalias myvim     #删除别名
[root@localhost mnt]# alias             #这里可以看出以被删除
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

du

du [选项] [文件或目录… ]

选项 说明
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--max-depth=n (-dn)最大显示到第n层

注意:这里a s无法同时使用

[root@localhost data]# du -a
4	./3.txt
4	./log.txt
4	./2.txt
4	./1.txt
4	./1.tat
4	./passwd1
4	./t.gzip.tar
4	./ky18.txt
32	.
[root@localhost data]# du -h
32K	.
[root@localhost data]# du -s
32	.
[root@localhost data]# du -d1
32	.

2.创建目录

mkdir touch

mkdir [选项] 目录位置及名称…

[root@localhost data]# mkdir 1 2 3          \#创建多个文件夹
[root@localhost data]# ls
1  1.tat  1.txt  2  2.txt  3  3.txt  ky18.txt  log.txt  passwd1  t.gzip.tar
[root@localhost data]# mkdir -p aaa/bbb/ccc       \#递归创建
[root@localhost data]# ls
1  1.tat  1.txt  2  2.txt  3  3.txt  aaa  ky18.txt  log.txt  passwd1  t.gzip.tar
[root@localhost data]# tree     #以树状图显示
.
├── 1
├── 1.tat
├── 1.txt
├── 2
├── 2.txt
├── 3
├── 3.txt
├── aaa
│   └── bbb
│       └── ccc
├── ky18.txt
├── log.txt
├── passwd1
└── t.gzip.tar

6 directories, 8 files

touch 新文件…(可为空)

touch 不会破坏已有文件 刷新时间

每个文件有三个时间戳:

  • access time 访问时间,atime,读取文件内容

  • modify time 修改时间,mtime,改变文件内容(数据)

  • change time 改变时间,ctime,元数据发生改变

[root@localhost data]# touch 1 2 3     \#创建新文件
[root@localhost data]# ls
1  2  3  ky18.txt  log.txt  passwd1  t.gzip.tar
[root@localhost data]# echo "">4      \#创建4的空文件
[root@localhost data]# ls
1  2  3  4  ky18.txt  log.txt  passwd1  t.gzip.tar
 [root@localhost data]# stat passwd1       \#查看三种时间
  文件:"passwd1"
  大小:2217      	块:8          IO 块:4096   普通文件
设备:24h/36d	Inode:189776      硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2022-01-28 14:15:24.000000000 +0800
最近更改:2022-01-28 14:15:24.000000000 +0800
最近改动:2022-02-15 16:19:12.286635006 +0800
创建时间:-
[root@localhost data]# touch passwd1
[root@localhost data]# ls
1  2  3  4  ky18.txt  log.txt  passwd1  t.gzip.tar
[root@localhost data]# stat passwd1  #这里对比上一次只有时间发生改变其他没有改变
  文件:"passwd1"
  大小:2217      	块:8          IO 块:4096   普通文件
设备:24h/36d	Inode:189776      硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2022-02-16 10:28:38.464653265 +0800
最近更改:2022-02-16 10:28:38.464653265 +0800
最近改动:2022-02-16 10:28:38.464653265 +0800
创建时间:-

硬链接与软连接文件

硬连接 同一个文件取不同的名或者叫多个名字(例如人 是不是有乳名,姓名 同样指的都是一个人 )不支持文件夹,创建一个连接数加一,多路径访问。

软连接 类似于windows里快捷方式,软连接,符号连接

比项 硬连接 软连接
本质 本质是同一个文件 本质不是同一个文件
inode 相同 不同
连接数 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 删除新建不会改变
文件夹 不支持 支持
删除源文件 只是链接数减一,但链接文件的访问不受影响 无法访问连接文件
文件类型 和源文件相同 链接文件,和源文件无关
文件大小 和源文件相同 源文件的路径的长度
 [root@localhost data]# ln 1 /opt/1.txt        #建立硬连接
[root@localhost data]# cd /opt
[root@localhost opt]# ls
1.txt  aa  etc  ifcfg-ens33  rh
[root@localhost opt]# ln -s 2 /opt/2.txt     \#建立软连接
[root@localhost opt]# cd /opt
[root@localhost opt]# ls
1.txt  2.txt  aa  etc  ifcfg-ens33  rh
[root@localhost opt]# ll
总用量 8
-rw-r--r--. 2 root root    0 216 10:24 1.txt
lrwxrwxrwx. 1 root root    1 216 10:49 2.txt -> 2
drwxr-xr-x. 1 root root    4 120 15:00 aa
drwxr-xr-x. 1 root root 4936 121 10:21 etc
lrwxrwxrwx. 1 root root   42 27 16:51 ifcfg-ens33 -> /etc/sysconfig/network-scripts/ifcfg-ens33
drwxr-xr-x. 1 root root    0 326 2015 rh

复制

1.cp

(1)cp [选项] 源文件 目标

(2)cp [选项] 源文件 文件夹 多个文件只能复制到文件夹

说明
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a 完整保留所有的信息
-v 可视化
-u 相当于增备,差异备份
-b 先备份(只保留最近)
ll[root@localhost ~]# cp -f 123 /opt     #强行复制文件123到opt目录下
[root@localhost ~]# ls /opt
123  aa  etc  ifcfg-ens33  rh
[root@localhost ~]# cp -i 123 /opt  #覆盖目标同名文件或目录时提醒用户确认
cp:是否覆盖"/opt/123"? y
[root@localhost ~]# cp -p 1 /opt#下面可以看出文件的权限、属主及时间标记等属性不变
[root@localhost ~]# ll
总用量 16
-rw-r--r--. 1 root root    0 216 11:09 1
-rw-r--r--. 1 root root    8 122 23:46 123
-rw-------. 1 root root 2130 1231 21:10 anaconda-ks.cfg
-rw-r--r--. 1 root root 2178 1231 21:14 initial-setup-ks.cfg
-rw-r--r--. 1 root root  633 122 23:36 log.txt
drwxr-xr-x. 1 root root    0 120 11:17 touch
drwxr-xr-x. 1 root root    0 118 15:45 公共
drwxr-xr-x. 1 root root    0 118 15:45 模板
drwxr-xr-x. 1 root root    0 118 15:45 视频
drwxr-xr-x. 1 root root    0 118 15:45 图片
drwxr-xr-x. 1 root root    0 118 15:45 文档
drwxr-xr-x. 1 root root    0 118 15:45 下载
drwxr-xr-x. 1 root root    0 118 15:45 音乐
drwxr-xr-x. 1 root root    0 118 15:45 桌面
[root@localhost ~]# ll /opt
总用量 8
-rw-r--r--. 1 root root    0 216 11:09 1
-rw-r--r--. 1 root root    8 216 11:08 123
drwxr-xr-x. 1 root root    4 120 15:00 aa
drwxr-xr-x. 1 root root 4936 121 10:21 etc
lrwxrwxrwx. 1 root root   42 27 16:51 ifcfg-ens33 -> /etc/sysconfig/network-scripts/ifcfg-ens33
drwxr-xr-x. 1 root root    0 326 2015 rh
[root@localhost ~]# cp -r /opt/ /data
[root@localhost ~]# ls /data
1  2  3  4  ky18.txt  log.txt  opt  passwd1  t.gzip.tar

移动 改名

1.mv rename

mv

#移动文件或目录

rename

#批量修改后缀名

[root@localhost data]# mv ky18.txt /opt\    #将ky8.txt文件移动到opt目录下
[root@localhost data]# ls /opt
1  123  aa  etc  ifcfg-ens33  ky18.txt  rh
[root@localhost data]# rename txt txt.bak *    #将后缀名为txt的文件修改后缀名为txt.bak
[root@localhost data]# ls
1.txt.bak  2.txt.bak  log.txt.bak.bak  passwd1  t.gzip.tar

删除文件

1.rm

rm [选项] 要删除的文件或目录

  • -f、强制

    -i、删除文件或目录时提醒用户确认

    -r 递归(删除目录时必须使用)

    [root@localhost data]# rm -f 1.txt.bak   #强制删除
    [root@localhost data]# rm -i 2.txt.bak   #交互确认删除
    rm:是否删除普通空文件 "2.txt.bak"?y
    [root@localhost data]# ls
    log.txt.bak.bak  passwd1  t.gzip.tar
    [root@localhost /]# ls
    1    boot  dev  home  lib64  mnt  proc  run   srv  tmp  var
    bin  data  etc  lib   media  opt  root  sbin  sys  usr
    [root@localhost /]# rm -rf 1      #递归删除目录
    [root@localhost /]# ls
    bin   data  etc   lib    media  opt   root  sbin  sys  usr
    boot  dev   home  lib64  mnt    proc  run   srv   tmp  var
    

查找文件find

find

命令的特点:

  • 精确查找
  • 实时查找
  • 支持查找条件较多

格式:

find [OPTION]... [查找路径] [查找条件] [处理动作]

关键字 说明
按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找 -size 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
最大搜索目录深度 -maxdepth level 将你的文件已分级的形式查找
最小搜索目录深度 -mindepth level 将你的文件已分级的形式查找

各表达式之间使用逻辑运算符 “-a”表示 而且(and) “-o”表示 或者(or)

[root@localhost ~]# find /data/ -name passwd1     #以文件名查找
/data/passwd1
[root@localhost ~]# find /boot/ -size 10M      #以文件大小查找
/boot/initrd-plymouth.img

-size 10M 表示9M到10M 且不包括9M
-size -10M 表示9M以内 包括9M
-size +10M 表示10M以上 不包括 10M

[root@localhost ~]# find /boot/ -type d        #以文件类型查找
/boot/
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
/boot/grub2
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub
[root@localhost ~]# find /boot/ -maxdepth 2 -mindepth 2  #只查找第二级目录
/boot/efi/EFI
/boot/grub2/device.map
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub2/grubenv
/boot/grub2/grub.cfg
/boot/grub/splash.xpm.gz

(5)-exec COMMAND {} ; 对查找到的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身
(6)-ok COMMAND {} ; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会
交互式要求用户确认

[root@localhost opt]# find -name "*.txt" -ok rm -rf {} \;  #找到并删除
< rm ... ./ky18.txt > ? y
< rm ... ./1.txt > ? y
< rm ... ./2.txt > ? y

 [root@localhost opt]# find /boot/ -name "*img" -a -size 10M #找到boot目录下以img结尾的文件且大小为10M的文件
/boot/initrd-plymouth.img

which

#寻找命令位置

四.硬件信息及其他系统信息

cpu

  • lscpu命令可以查看cpu信息
  • cat /proc/cpuinfo也可看查看到

free

#查看内存大小

lsblk

#查看硬盘和分区情况

arch

#查看机器架构

uname -r

#查看内核版本

date

#查看当前系统时间

  • -d 你描述的日期,显示指定字符串所描述的时间,而非当前时间

  • %F 完整日期格式,等价于 %Y-%m-%d

  • % T 时间(24小时制)(hh:mm:ss)

    [root@localhost ~]# date -d '-1 day' +%F#前一天
    2022-02-15
    [root@localhost ~]# date +%F#今天
    2022-02-16
    [root@localhost ~]# date -d '+1 day' +%F#后一天
    2022-02-17
    [root@localhost ~]# date -d "+3 day"#前三天
    2022年 02月 19日 星期六 12:20:28 CST
    [root@localhost ~]# date -d "-3 day"#后三天
    2022年 02月 13日 星期日 12:20:36 CST
    

总结

Linux 命令行的一般格式中包括命令字、选项、参数。

通过如下方式可以获得命令帮助: help、 man和--help命令选项。

执行ls、du命令可以査看目录相关属性。

执行mkdir、touch 命令可以创建目录和文件。

执行cp、rm、mv命令可以复制、删除、移动目录和文件。

执行which、find命令可以查找目录和文件。

posted @   GENGBO  阅读(222)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示