文章目录

  • linux 基础命令
    • cd 命令详解
    • ls 命令详解
    • pwd 命令详解
    • hostname命令详解
    • clear命令详解
    • who、whoami、w 命令
    • which 命令
    • cal 命令详解
    • ldd 命令详解
    • scp 命令详解
    • ssh 命令
  • linux 用户权限
    • useradd 命令详解
    • usermod 命令详解
    • userdel 命令详解
    • groupadd 命令详解
    • groupdel 命令详解
    • chmod 命令详解
    • chown 命令详解
  • 文件管理相关
    • touch命令详解
    • mkdir命令详解
    • rmdir 删除目录
    • rm 命令详解
    • cp命令详解
    • mv 命令详解
    • cat命令详解
    • head命令详解
    • tail 命令详解
    • find命令详解
    • more命令详解
    • less 命令详解
    • du 命令详解
    • df 命令详解
    • wc 命令详解
    • cut 命令详解
    • awk命令详解
    • sed命令详解
    • grep 命令详解
    • echo 命令详解
    • 文本排序与去重
    • tree 命令详解
  • 软件资源管理相关
  • 系统资源相关
    • tar、zip命令详解
      • zip 命令
    • rpm 命令详解
    • yum 命令详解
  • 开关机相关
    • shutdown命令详解
    • init
    • 文件名通配符
    • 环境变量
    • bash内置变量
  • 总结

linux 基础命令

当你看到这篇文章,说明你很想学习linux技术,或者命令上需要帮助,不管在Centos 系统还是红帽系统,它都能够适用。这篇文章包含了常见的linux命令,比如:linux 压缩,解压缩。yum 安装,linux关机命令,linux系统知识,linux删除文件等。如果你想玩转linux,请一定把此文章的命令操作一遍。

cd 命令详解

  • 主要用于切换目录
[root@hbs ~]# cd /home/        **切换至/home目录**
[root@hbs home]# cd /root/
[root@hbs ~]# cd /
[root@hbs /]# cd /usr/local/sbin/
[root@hbs sbin]# cd .          **切换到当前目录**
[root@hbs sbin]# cd ..         **切换至上一级目录**
[root@hbs local]# cd ~         **切换到家目录**
[root@hbs ~]#

ls 命令详解

  • ls命令主要用于浏览目录下的文件或者文件夹
  • 常用参数
    • ls -l 详细详细信息(文件类型、权限、属主、数组、字节大小、创建时间、文件名)
    • ls -ld 只显示目录
    • ls -a 显示影藏文件
-a, --all                    不隐藏任何以. 开始的项目;
-A, --almost-all            列出除. 及.. 以外的任何项目;--author                与-l 同时使用时列出每个文件的作者;
-b, --escape                以八进制溢出序列表示不可打印的字符;--block-size=大小       块以指定大小的字节为单位;
-B, --ignore-backups        不列出任何以"~"字符结束的项目;
-d, --directory             当遇到目录时列出目录本身而非目录内的文件;
-D, --dired             产生适合Emacs 的dired 模式使用的结果;
-f                      不进行排序,-aU 选项生效,-lst 选项失效;
-i, --inode                 显示每个文件的inode 号;
-I, --ignore=PATTERN       不显示任何符合指定shell PATTERN 的项目;
-k                      即--block-size=1K;
-l                      使用较长格式列出信息;
-n, --numeric-uid-gid       类似 -l,但列出UID 及GID 号;
-N, --literal               输出未经处理的项目名称 (如不特别处理控制字符) ;
-r, --reverse               排序时保留顺序;
-R, --recursive             递归显示子目录;
-s, --size                  以块数形式显示每个文件分配的尺寸;
-S                      根据文件大小排序;
-t                      根据修改时间排序;
-u                      同-lt 一起使用:按照访问时间排序并显示;同-l一起使用:显示访问时间并按文件名排序;其他:按照访问时间排序;
-U                      不进行排序;按照目录顺序列出项目;
-v                      在文本中进行数字(版本)的自然排序。

pwd 命令详解

  • 主要用于显示或者查看当前所在的目录路径

hostname命令详解

  • 主要查看当前主机名
  • 可以临时修改主机名,重启还原
    -常用命令

    • [root@hbs ~]# hostname liuaoni 重启还原名字
    • [root@hbs ~]# hostnamectl set-hostname liuaoni 永久生效,写入配置文件
[root@hbs ~]# cat /etc/hostname  配置文件
liuaoni

clear命令详解

  • 主要用于清屏
  • 常用命令
    • clear 推一屏

who、whoami、w 命令

  • who 显示当前所有登录的账户(何时、何地)
  • whoami 显示当前登录的账户(正在使用的)
  • w 显示所有已登录的账户,并显示其在干什么事
[root@liuaoni ~]# whoami
root
[root@liuaoni ~]# who
root     tty1         2021-02-03 19:13
root     pts/0        2021-03-07 15:22 (192.168.10.1)
root     pts/1        2021-03-07 13:09 (192.168.10.1)
root     pts/5        2021-03-07 12:14 (192.168.10.1)
[root@liuaoni ~]# w15:26:29 up 3 days,  5:46,  4 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      03Feb21 21:09m  0.26s  0.26s -bash
root     pts/0    192.168.10.1     15:22    5.00s  0.03s  0.03s w
root     pts/1    192.168.10.1     13:09   46:21   0.29s  0.29s -bash
root     pts/5    192.168.10.1     12:14    2:47m  0.06s  0.03s bash
[root@liuaoni ~]# 

which 命令

  • 查看命令在哪里
  • 命令类型
    • 内部命令(shell提供的命令)
    • 外部命令(which可以找到),不是shell 提供的,需要安装的命令
[root@liuaoni ~]# which vim
/usr/bin/vim
[root@liuaoni ~]# 

cal 命令详解

  • 主要查看万年历
  • 常用命令
    • cal 查看本月日历
-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历
-s 显示星期天为一个星期的第一天,默认的格式
-m 显示星期一为一个星期的第一天
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

ldd 命令详解

  • 用来查看命令所依赖的库文件是否缺失
[root@localhost ~]# which hostname
/usr/bin/hostname
[root@localhost ~]# ldd /usr/bin/hostnamelinux-vdso.so.1 =>  (0x00007ffe2ebc7000)libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f60f8ace000)libc.so.6 => /lib64/libc.so.6 (0x00007f60f870b000)/lib64/ld-linux-x86-64.so.2 (0x000055d8031af000)
[root@localhost ~]#
--version:打印指令版本号;
-v:详细信息模式,打印所有相关信息;
-u:打印未使用的直接依赖;
-d:执行重定位和报告任何丢失的对象;
-r:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;
--help:显示帮助信息。

scp 命令详解

  • scp是 secure copy的缩写.

  • scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

  • linux的scp命令可以在linux服务器之间复制文件和目录。

  • scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。

  • 当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。

  • 虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

  • 语法格式:scp [参数] [文件]

  • 常用参数:

-1   使用ssh协议版本1-2
-2  使用ssh协议版本2
-4  使用ipv4
-6  使用ipv6
-B  以批处理模式运行
-C  使用压缩
-F  指定ssh配置文件
-l  指定宽带限制
-o  指定使用的ssh选项
-P  指定远程主机的端口号
-p  保留文件的最后修改时间,最后访问时间和权限模式
-q  不显示复制进度
-r  以递归方式复制
  • 从远程复制文件到本地目录:
[root@linuxcool ~]# scp root@192.168.10.10:/opt/soft/rhel-server-7.3-x86_64.tar.gz /opt/soft/
  • 从远程复制目录到本地:
[root@linuxcool ~]# scp  -r root@10.10.10.10:/opt/soft/mysql /opt/soft/
  • 上传本地文件到远程机器指定目录:
[root@linuxcool ~]# scp /opt/soft/rhel-server-7.3-x86_64.tar.gz root@192.168.10.10:/opt/soft/scptest
  • 上传本地目录到远程机器指定目录:
[root@linuxcool ~]# scp -r /opt/soft/mysql root@192.168.10.10:/opt/soft/scptest
  • 保留文件的最后修改时间,最后访问时间和权限模式:
[root@linuxcool ~]# scp -p /root/install.log root@192.168.10.10:/tmp

ssh 命令

  • ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。

  • 语法格式: ssh [参数] [远程主机]

  • 常用参数:

-1   强制使用ssh协议版本1
-2  强制使用ssh协议版本2
-4  强制使用IPv4地址
-6  强制使用IPv6地址
-A  开启认证代理连接转发功能
-a  关闭认证代理连接转发功能
-b<IP地址>  使用本机指定的地址作为对位连接的源IP地址
-C  请求压缩所有数据
-F<配置文件>  指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f  后台执行ssh指令
-g  允许远程主机连接本机的转发端口
-i<身份文件>  指定身份文件(即私钥文件)
-l<登录名>   指定连接远程服务器的登录用户名
-N  不执行远程指令
-o<选项>    指定配置选项
-p<端口>    指定远程服务器上的端口
-q  静默模式,所有的警告和诊断信息被禁止输出
-X  开启X11转发功能
-x  关闭X11转发功能
-y  开启信任X11转发功能
  • 登录远程服务器:
[root@linuxcool ~]# ssh 202.102.240.88
  • 用test用户连接远程服务器:
[root@linuxcool ~]# ssh -l test 202.102.220.88
  • 查看分区列表:
[root@linuxcool ~]# ssh 202.102.220.88 /sbin/fdisk -l
  • 强制使用ssh协议版本1:
[root@linuxcool ~]# ssh -1
  • 开启认证代理连接转发功能:
[root@linuxcool ~]# ssh -A

linux 用户权限

useradd 命令详解

  • useradd命令用来创建新的用户或更改用户的信息。
  • useradd可用来建立用户帐号。
  • 帐号建好之后,再用passwd设定帐号的密码。
  • 使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

语法格式:useradd [参数] [用户名]

常用参数:

-D   改变新建用户的预设值
-c  添加备注文字
-d  新用户每次登陆时所使用的家目录
-e  用户终止日期,日期的格式为YYYY-MM-DD
-f  用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为-1
-g  指定用户对应的用户组
-G  定义此用户为多个不同组的成员
-m  用户目录不存在时则自动创建
-M  不建立用户家目录,优先于/etc/login.defs文件设定
-n  取消建立以用户名称为名的群组
-r  建立系统帐号
-u  指定用户id
  • 添加新用户linuxcool:
[root@linuxcool ~]# useradd linuxcool
  • 不创建家目录,并且禁止登陆:
[root@linuxcool ~]# useradd -M -s /sbin/nologin linuxcool
  • 添加新用户linuxcool,指定UID为888,指定归属用户组为root,cool成员,其shell类型为/bin/sh:
[root@linuxcool ~]# useradd -u 888 -s /bin/sh -G root,cool linuxcool
  • 添加新用户linuxcool,设置家目录为/tmp/linuxcool,用户过期时间为2019/05/01.过期后两天停权:
[root@linuxcool ~]# useradd -e "2019/05/01" -f 2 -d /tmp/linuxcool linuxcool

usermod 命令详解

  • usermod命令用于修改用户账号 。usermod可用来修改用户账号的各项设定,修改系统账号文件来反映通过命令行指定的变化。

  • 语法格式:usermod [参数]

  • 常用参数:

-c<备注> 修改用户账号的备注文字
-d<登入目录>  修改用户登入时的目录
-e<有效期限>  修改账号的有效期限
-f<缓冲天数>  修改在密码过期后多少天即关闭该账号
-g<群组>    修改用户所属的群组
-G<群组>    修改用户所属的附加群组
-l<账号名称>  修改用户账号名称
-L  锁定用户密码,使密码无效
-s<shell> 修改用户登入后所使用的shell
-u<uid>   修改用户ID
-U  解除密码锁定
  • 更改登陆目录:
[root@linuxcool ~]# usermod -d /home/hnlinux root
  • 改变用户的uid:
[root@linuxcool ~]# usermod -u 777 root
  • 修改用户名为linux:
[root@linuxcool ~]# usermod -l Linux linuxcool
  • 锁定linuxcool的密码:
[root@linuxcool ~]# usermod -L linuxcool
  • 解锁linuxcool的密码:
[root@linuxcool ~]# usermod -U linuxcool

userdel 命令详解

  • userdel命令用于删除指定的用户及与该用户相关的文件,英文全称即“user delete”。
  • 其实userdel命令实际上是修改了系统的用户账号文件 /etc/passwd、/etc/shadow以及/etc/group文件。
  • 这与Linux系统”一切操作皆文件”的思想正好吻合。

值得注意的是,但是如果有该要删除用户相关的进程正在运行,userdel命令通常不会删除一个用户账号。如果确实必须要删除,可以先终止用户进程,然后再执行userdel命令进行删除。但是userdel命令也提供了一个面对该种情况的参数,即”-f”选项。

语法格式:userdel [参数] [用户名]

  • 常用参数:
-f   强制删除用户账号
-r  删除用户主目录及其中的任何文件
-h  显示命令的帮助信息
  • 删除用户,但不删除其家目录及文件:
[root@linuxcool ~]# userdel linuxcool
  • 删除用户,并将其家目录及文件一并删除:
[root@linuxcool ~]# userdel -r linuxcool
  • 强制删除用户:
[root@linuxcool ~]# userdel -f linuxcool

groupadd 命令详解

  • groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

  • 语法格式:groupadd [参数]

  • 常用参数:

-g   指定新建工作组的id
-r  创建系统工作组,系统工作组的组ID小于500
-K  覆盖配置文件“/ect/login.defs”
-o  允许添加组ID号不唯一的工作组
  • 使用-g参数新建linuxcool工作组名,1005是工作组id:
[root@linuxcool ~]# groupadd -g 1005 linuxcool

-使用-r创建系统工作组:

[root@linuxcool ~]# groupadd -r -g 368 linuxcool

groupdel 命令详解

  • groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。

  • userdel修改系统账户文件,删除与 GROUP 相关的所有项目。给出的组名必须存在。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

  • 语法格式:groupdel [参数] [群组名称]

  • 常用参数:

-h   显示帮助信息
-R  在chroot_dir目录中应用更改并使用chroot_dir目录中的配置文件
  • 使用groupdel命令删除linuxcool工作组:
[root@linuxcool ~]# groupdel linuxcool
  • 查看linuxcool组是否删除成功:
[root@linuxcool ~]# more /etc/group|grep linuxcool
通过查看/etc/group配置文件里面不存在linuxcool组,说明已经被删除了。

chmod 命令详解

  • chmod命令主要用于修改文件或者目录的权限,例如chmod o+w test.txt,赋予test.txt其他人w写权限

  • 语法格式: chmod [参数] [文件]

  • 常用参数:

  • -R 目录下所有文件

-c   若该文件权限确实已经更改,才显示其更改动作
-f  若该文件权限无法被更改也不显示错误讯息
-v  显示权限变更的详细资料
-R  对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
  • 将档案 file1.txt 设为所有人皆可读取:
[root@linuxcool ~]# chmod a+r file.txt
  • 将目前目录下的所有文件与子目录皆设为任何人可读取 :

[root@linuxcool ~]# chmod -R a+r *
  • 将 file.txt 设定为只有该文件拥有者可以执行:
[root@linuxcool ~]# chmod u+x file.txt

chown 命令详解

  • chown命令主要用于文件或者文件夹宿主及属组的修改,命令格式例如chown –R root.root /tmp/test.txt,表示修改test.txt文件的用户和组均为root
用法:chown [选项]... [所有者][:[组]] 文件...或:chown [选项]... --reference=参考文件 文件...
更改每个文件的所有者和/或所属组。
当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。
-f, --silent, --quiet 去除大部份的错误信息
--reference=参考文件               使用参考文件的所属组,而非指定值;
-R, --recursive                     递归处理所有的文件及子目录;
-v, --verbose                       为处理的所有文件显示诊断信息;
-H                              命令行参数是一个通到目录的符号链接,则遍历符号链接;
-L                              历每一个遇到的通到目录的符号链接;
-P                              历任何符号链接(默认);
--help                              显示帮助信息并退出;
--version                       显示版本信息并退出。
  • 将test.txt文件用户组与用户都改为bin:
[root@linuxcool ~]# ll test.txt.bz2
-rw-r--r-- 1 root root 56 Jul 22 20:17 test.txt.bz2
[root@linuxcool ~]# chown bin:bin test.txt.bz2
[root@linuxcool ~]# ll test.txt.bz2
-rw-r--r-- 1 bin bin 56 Jul 22 20:17 test.txt.bz2
  • 显示改动动作:
[root@linuxcool ~]# ll test.txt
-rw-r--r-- 1 root root 45 Jul 22 21:11 test.txt
[root@linuxcool ~]# chown -c bin:bin test.txt
changed ownership of `test.txt' to bin:bin
  • 将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:
[root@linuxcool ~]# chown -R linuxcool:linuxcoolgroup *

文件管理相关

touch命令详解

  • 主要用于创建文件、修改时间

    • touch -t 2103081018 he.txt 修改he.txt文档,时间为21年3月18日10点18分
    • touch haha.txt 创建 haha.txt文件
用法:touch [选项]... 文件...
将每个文件的访问时间和修改时间改为当前时间;
不存在的文件将会被创建为空文件,除非使用-c 或-h 选项;
如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间;
长选项必须使用的参数对于短选项时也是必需使用的;
-a                          只更改访问时间;
-c, --no-create                 不创建任何文件;
-d, --date=字符串             使用指定字符串表示时间而非当前时间;
-f                          (忽略);
-h, --no-dereference            会影响符号链接本身,而非符号链接所指示的目的地;(当系统支持更改符号链接的所有者时,此选项才有用);
-m                          只更改修改时间;
-r, --reference=文件             使用指定文件的时间属性而非当前时间;
-t STAMP                    使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间;
--time=WORD                使用WORD 指定的时间:access、atime、use 都等于-a;选项的效果,而modify、mtime 等于-m 选项的效果;
--help                      显示此帮助信息并退出;
--version                       显示版本信息并退出。

mkdir命令详解

  • 主要用于创建目录
  • 常用参数
    • mkdir -pv hbs 创建目录
    • [root@localhost ~]# mkdir -p a/{b/{e,f},c,d/{g,h}} 命令扩展 大括号{}
用法:mkdir [选项]... 目录;若指定目录不存在则创建目录;
长选项必须使用的参数对于短选项时也是必需使用的;
-m, --mode=模式          设置权限模式(类似chmod),而不是rwxrwxrwx 减umask;
-p, --parents               需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理;
-v, --verbose               每次创建新目录都显示信息;
-Z, --context=CTX          将每个创建的目录的SELinux 安全环境设置为CTX;
--help                      显示此帮助信息并退出;
--version               显示版本信息并退出。

rmdir 删除目录

rm 命令详解

  • 主要用于删除文件和目
  • 常用命令
    • rm -r 递归删除目录及其内容
    • rm -rf 强制删除。忽略不存在的文件,不提示确认
用法:rm [选项]... 文件...删除 (unlink) 文件。
-f, --force                 强制删除。忽略不存在的文件,不提示确认;
-i                      在删除前需要确认;
-I                      在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生;
-r, -R, --recursive         递归删除目录及其内容;
-v, --verbose           详细显示进行的步骤;
--help                  显示此帮助信息并退出;
--version               显示版本信息并退出;
默认时,rm 不会删除目录,使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容;
要删除第一个字符为"-"的文件 (例如"-foo"),请使用以下方法之一:
rm -- -foo
rm ./-foo

cp命令详解

  • 主要用于拷贝文件
  • 常用命令
    • [root@hbs ~]# cp -r b/c/ /tmp/ 拷贝目录
    • 拷贝文件,只能一对一
    • 拷贝多个目录,只能是目录
    • -i 覆盖式提示信息
    • -f 强制复制
    • -p 保留原有属性
用法:cp [选项]... [-T] 源文件 目标文件或:cp [选项]... 源文件... 目录或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive                       等于-dR --preserve=all;--backup[=CONTROL         为每个已存在的目标文件创建备份;
-b                              类似--backup 但不接受参数;--copy-contents                在递归处理是复制特殊文件内容;
-d                              等于--no-dereference --preserve=links;
-f, --force                         如果目标文件无法打开则将其移除并重试(当 -n 选项;存在时则不需再选此项);
-i, --interactive                       覆盖前询问(使前面的 -n 选项失效);
-H                              跟随源文件中的命令行符号链接;
-l, --link                          链接文件而不复制;
-L, --dereference                   总是跟随符号链接;
-n, --no-clobber                    不要覆盖已存在的文件(使前面的 -i 选项失效);
-P, --no-dereference                不跟随源文件中的符号链接;
-p                              等于--preserve=模式,所有权,时间戳;

mv 命令详解

  • 移动、重命名

    • 目标在本地,是重命名
    • 目标在远端,是移动
用法:mv [选项]... [-T] 源文件 目标文件;
或:mv [选项]... 源文件... 目录;
或:mv [选项]... -t 目录 源文件;
将源文件重命名为目标文件,或将源文件移动至指定目录。长选项必须使用的参数对于短选项时也是必需使用的。--backup[=CONTROL]        为每个已存在的目标文件创建备份;
-b                                  类似--backup 但不接受参数;
-f, --force                             覆盖前不询问;
-i, --interactive                           覆盖前询问;
-n, --no-clobber                        不覆盖已存在文件,如果您指定了-i、-f、-n 中的多个,仅最后一个生效;--strip-trailing-slashes              去掉每个源文件参数尾部的斜线;
-S, --suffix=SUFFIX                    替换常用的备份文件后缀;
-t, --target-directory=DIRECTORY       将所有参数指定的源文件或目录;移动至 指定目录;
-T, --no-target-directory                   将目标文件视作普通文件处理;
-u, --update                            只在源文件文件比目标文件新,或目标文件;不存在时才进行移动;
-v, --verbose                           详细显示进行的步骤;
--help                              显示此帮助信息并退出;
--version                               显示版本信息并退出。

cat命令详解

  • 主要用于查看文件内容(适用短文本)
  • 常用命令
    • cat -n he.txt 显示行号的
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。
-A, --show-all                  等于-vET;
-b, --number-nonblank           对非空输出行编号;
-e                          等于-vE;
-E, --show-ends                 在每行结束处显示"$";
-n, --number                对输出的所有行编号;
-s, --squeeze-blank             不输出多行空行;
-t                          与-vT 等价;
-T, --show-tabs                 将跳格字符显示为^I;
-u                          (被忽略);
-v, --show-nonprinting          使用^ 和M- 引用,除了LFD和 TAB 之外;
--help                      显示此帮助信息并退出;
--version                   显示版本信息并退出。
  • cat …EOF …EOF用法

    • 添加内容,会覆盖前面内容

    • 追加内容

[root@hbs a]# cat > /tmp/hbs.txt <<EOF
> my name is hbs
> I love a girl
> EOF
[root@hbs a]# [root@hbs a]# cat >> /tmp/hbs.txt <<EOF 追加内容
> I LOVE LIU AO NI
> EOF
[root@hbs a]#

head命令详解

  • 主要用于查看文件内容,通常查看头10行
  • 常用命令
    • [root@hbs ~]# head -3 anaconda-ks.cfg 看前3行
用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
如果不指定文件,或者文件为"-",则从标准输入读取数据,长选项必须使用的参数对于短选项时也是必需使用的;
-q, --quiet, --silent                   不显示包含给定文件名的文件头;
-v, --verbose                       总是显示包含给定文件名的文件头;
--help                              显示此帮助信息并退出;
--version                           显示版本信息并退出;
-c,  --bytes=[-]K                  显示每个文件的前K 字节内容,如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容;
-n, --lines=[-]K                   显示每个文件的前K 行内容,如果附加"-"参数,则除了每个文件的最后K 行外显示剩余全部内容。

tail 命令详解

  • 主要用于查看文件内容,通常用于尾 10行
  • 常用命令
    • tail -10 anaconda-ks.cfg 查看尾 10行
用法:tail [选项]... [文件]...
显示每个指定文件的最后10 行到标准输出。
若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。
如果不指定文件或文件为"-" ,则从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-n, --lines=K                          输出的总行数,默认为10行;
-q, --quiet, --silent                   不输出给出文件名的头;
--help                              显示此帮助信息并退出;
--version                           显示版本信息并退出;
-f, --follow[={name|descriptor}]           即时输出文件变化后追加的数据;-f, --follow 等于--follow=descriptor
-F            即--follow=name –retry
-c, --bytes=K                          输出最后K字节;另外,使用-c +K 从每个文件的第K字节输出。

find命令详解

  • 实时查找,精确性强,遍历指定目录中所有文件完成查找,
  • 查找速度慢,支持众多查找标准。
  • 语法:find [OPTION…] 查找路径 查找标准 查找到以后的处理动作
    • 查找路径 默认为当前目录
    • 查找标准 默认为指定路径下的所有文件
-name 'filename'    对文件名作精确匹配.支持glob通配符机制
-iname 'filename'   文件名匹配时不区分大小写
-regex pattern      基于正则表达式进行文件名匹配.以pattern 匹配整个文件路径字符串,而不仅仅是文件名称
-user username          根本属主来查找
-group groupname        根据属组来查找
-uid            根据UID进行查找,当用户被删除以后文件的属主会变为此用户的UID
-gid            根据GID进行查找,当用户被删除以后文件的属组会变为此用户的GID
-nouser     查找没有属主的文件.用户被删除的情况下产生的文件,只有uid没有属主
-nogroup    查找没有属组的文件.组被删除的情况下产生的文件,只有gid没有属组
-type           根据文件类型来查找(f,d,c,b,l,p,s)
-size            根据文件大小进行查找。如1k、1M,+10k、+10M,-1k、-1M, +表示大于,-表示小于
---------
mtime        修改时间
-ctime       改变时间
-atime       访问时间+5 ,5天前;-5,5天以内
-mmin        多少分钟修改过
-cmin        多少分钟改变过
-amin        多少分钟访问过, +5 ,5分钟前;-5,5分钟以内
-perm mode   根据权限精确查找
-perm -mode  文件权限能完全包含此mode时才符合条件
-perm /mode  9位权限中有任何一位权限匹配都视为符合查找条件处理动作:默认为显示到屏幕上
-print      显示
-ls         类似ls -l的形式显示每一个文件的详细信息
-delete     删除查找到的文件
-fls /path/to/somefile      查找到的所有文件的长格式信息保存至指定文件中
-ok COMMAND {} \;   对查找到的每个文件执行COMMAND,每次操作都需要用户确认
-exec COMMAND {} \; 对查找到的每个文件执行COMMAND,操作不需要确认
[root@localhost ~]# find / -name abc **找名字是 abc的**
/root/abc
/opt/abc[root@localhost ~]# find / -iname abc  **忽略大小写的**
/root/abc
/opt/abc
/opt/ABC[root@localhost ~]# find / -nouser tom **找没有user的**[root@localhost ~]# find -type d **找目录**
.
./a
./a/b
./a/b/e[root@localhost ~]# find -size -1M **小于1m的文件**./00:00:00
./2021[root@localhost ~]# find -size +1k  **大于1k的文件**
.
./.bash_history
./anaconda-ks.cfg[root@localhost ~]# find -mmin +1  **一分钟前改变的**
./.bash_logout
./.bash_profile
./.bashrc[root@localhost ~]# find -type d  -name 5  必须是目录,名字是 5的目录
./5
[root@localhost ~]# find -type f  -name 5
[root@localhost ~]# [root@localhost ~]# find -type d  -name 5 -ls **组合命令**
33576693    0 drwxr-xr-x   2 root     root            6 Apr  8 10:25 ./5
[root@localhost ~]# [root@localhost ~]# find -type f -name he.txt -print  **查找 名字为he.txt的文件,并且打印出来**
./he.txt
[root@localhost ~]# [root@localhost ~]# find -type f  -name 5 -delete **查找名字是 5的文件,并删除
**
[root@localhost opt]# find ./ -type f -name *.sh -exec mv {} /opt/ \;  将当前文件 名为 .sh 的文件移动到 /OPT下

more命令详解

  • 从前往后看,不能回退
  • 有进度条显示

less 命令详解

  • 可以回退,空格 从前往后翻屏幕。
  • 从后往前翻屏,b键
  • q键 退出查看

du 命令详解

  • 常用于查看文件在磁盘中的使用量
  • 常用命令
    • [root@hbs ~]# du -sh /tmp/ 查看当前目录所有文件及文件及的大小

df 命令详解

  • 主要用于查询磁盘分区
  • 常用命令
    • df –h,查看磁盘分区信息
[root@hbs ~]# du -sh /boot/   查看目录及文件大小
110M    /boot/
[root@hbs ~]# df -h /boot/    查看boot 目录的使用情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       197M  121M   77M  62% /boot
[root@hbs ~]#
用法:df [选项]... [文件]...
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all                  显示所有文件系统的使用情况,包括虚拟文件系统;
-B, --block-size=SIZE      使用字节大小块;
-h, --human-readable       以人们可读的形式显示大小;
-H, --si                  同-h,但是强制使用1000而不是1024;
-i, --inodes                显示inode 信息而非块使用量;
-k                          即--block-size=1K;
-l, --local                 只显示本机的文件系统;--no-sync             取得使用量数据前不进行同步动作(默认);
-P, --portability            使用POSIX 兼容的输出格式;--sync                  取得使用量数据前先进行同步动作;
-t, --type=类型              只显示指定文件系统为指定类型的信息;
-T, --print-type            显示文件系统类型;
-x, --exclude-type=类型      只显示文件系统不是指定类型信息;
--help                  显示帮助信息并退出;
--version               显示版本信息并退出

wc 命令详解

  • 主要用于统计文本、字符(数字、符号、空格、行等)
  • 常用命令
    • [root@hbs ~]# wc -l anaconda-ks.cfg 查看看它有多少行
    • [root@hbs ~]# wc -c anaconda-ks.cfg 查看它有多少个字符
    • [root@hbs ~]# wc -w anaconda-ks.cfg 查看它有多少个单词
[root@hbs ~]# wc anaconda-ks.cfg 52  148 1511 anaconda-ks.cfg     (行、单词、字符)
[root@hbs ~][root@hbs ~]# cat anaconda-ks.cfg | wc -l  #查看多少行
52
[root@hbs ~]#

cut 命令详解

  • 取出指定列的选项
  • 常用命令选项
    • -d 指定分隔符
    • -f 指定要显示的列
[root@localhost ~]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin[root@localhost ~]# head -5 /etc/passwd|cut -d : -f6  取出/etc/passwd 以冒号为分隔符,第6列
/root
/bin
/sbin
/var/adm
/var/spool/lpd
[root@localhost ~]# [root@localhost ~]# head -3 /etc/passwd|cut -d: -f1
root
bin
daemon
[root@localhost ~]# 

awk命令详解

  • 处理列的内容
  • 常用命令选项
    • -F 指定分割符 `‘NR==行{print $需要的列}’ 文件名
[root@localhost ~]# awk -F: '{print $1}' /etc/passwd|head -5  以冒号为分隔符,查看 passwd 前5行的一个。
root
bin
daemon
adm
lp
[root@localhost ~]# [root@localhost ~]# df -h|awk '{print $4}'   分割符默认是 空格,如果不是 -F
Avail
19G
901M
912M
888M
912M
77M
183M
0
[root@localhost ~]# [root@localhost ~]# df -h|awk 'NR==3{print $4}' 第4列第3行
901M
[root@localhost ~]# [root@localhost ~]# df -h|awk 'NR==2{print NF}' 最后一列(NF),第二行
6
[root@localhost ~]# df -h|awk 'NR==2{print $(NF-2)}' 倒数多少列,第二行

sed命令详解

  • 处理行的内容
  • sed 选项 动作 文件名
    • -c 修改
    • -s 替换
    • -a 追加
    • -p 打印
    • -d 删除
  • 常用命令
    • sed -i ‘1s/^#//g’ bcd 去除#号
[root@localhost ~]# sed '2p' bcd
123
456
456
23
[root@localhost ~]# sed -n '2p' bcd
456
[root@localhost ~]# sed -n '1p' bcd
123
[root@localhost ~]# sed -n '3p' bcd
23[root@localhost ~]# sed -n '/456/p' bcd 匹配456 打印
456
[root@localhost ~]# [root@localhost ~]# sed '3s/23/9999/g' bcd  第3行的23 替换成 999
123
456
9999
[root@localhost ~]# [root@localhost ~]# cat bcd
#123
#456
#23
[root@localhost ~]# sed '1s/^#//g' bcd  将第1行的#号替换为 空,并没有修改原文件
123
#456
#23
[root@localhost ~]# [root@localhost ~]# sed -i '1s/^#//g' bcd  修改源文件了的[root@localhost ~]# sed -i '1c888' bcd 将第一行改成 888
[root@localhost ~]# 

grep 命令详解

  • 文本查找
  • 常用命令参数
    • i 忽略大小写
    • v 显示没有匹配的项
    • E,一般用于 egrep
 grep egrep fgrepgrep        根据模式搜索文本,并将符合模式的文本行显示出来。 使用基本正则表达式定义的模式来过滤文本的命令。Pattern(模式)     文本字符和正则表达式的元字符组合而成的匹配条件-i         忽略大小写--color 匹配到的内容高亮显示-v        显示没有被模式匹配到的行-o       只显示被模式匹配到的字符串-E        使用扩展正则表达式。grep -E相当于使用egrep-q        静默模式,不输出任何信息-A 1     被模式匹配到的内容以及其后面一行的内容都显示出来如果把1改成2就表示被模式匹配到的内容以及其后面2行的内容均显示出来-B 1     被模式匹配到的内容以及其前面一行的内容都显示出来如果把1改成2就表示被模式匹配到的内容以及其前面2行的内容均显示出来-C 1     被模式匹配到的内容以及其前后的行各显示1行,如果把1改成2 就表示被模式匹配到的内容以及其前后的行各显示2行。fgrep       不支持正则表达式,执行速度快
[root@localhost ~]# cat g.txt
world
WORLDshar
worldhelo
123456
woLD
worLD
World
WOF
[root@localhost ~]# cat g.txt |grep world 过滤world
world
worldhelo
[root@localhost ~]# cat g.txt |grep -i world 过滤world,忽略大小写
world
WORLDshar
worldhelo
worLD
World[root@localhost ~]# cat g.txt |grep -v world 取反
WORLDshar
123456
woLD
worLD
World
WOF
[root@localhost ~]# [root@localhost ~]# cat g.txt |egrep -E world
world
worldhelo
[root@localhost ~]# 

echo 命令详解

  • 主要用于打印字符或者回显
  • 常常和管道符连用
  • “>” 覆盖
  • “>>” 追加
  • 扩展 -e,主要用于写脚本
\033[30m 黑色字 \033[0m
\033[31m 红色字 \033[0m
\033[32m 绿色字 \033[0m
\033[33m 黄色字 \033[0m
\033[34m 蓝色字 \033[0m
\033[35m 紫色字 \033[0m
\033[36m 天蓝字 \033[0m
\033[37m 白色字 \033[0m
\033[40;37m 黑底白字 \033[0m
\033[41;37m 红底白字 \033[0m
\033[42;37m 绿底白字 \033[0m
\033[43;37m 黄底白字 \033[0m
\033[44;37m 蓝底白字 \033[0m
\033[45;37m 紫底白字 \033[0m
\033[46;37m 天蓝底白字 \033[0m
\033[47;30m 白底黑字 \033[0m
  • auto_lamp_v2.sh
#!bin/sh
echo -e "\033[036m Please select intstall Menu follow:\033[0m"
echo -e "\033[32m 1)install Apache Server\033[1m"
echo "2)install Mysql Server"
echo "3)install PHP Server"
echo "4)Configuration index.php and start LAMP Server"
echo -e "\033[31mUsage:{ /bin/sh $0 1|2|3|4|hep}\033[0m"

文本排序与去重

  • sort 排序
  • uniq 去重
    • -c 显示它出现的次数
    • -u 显示不重复的
    • -d 显示重复的
[root@localhost ~]# cat >> abc <<EOF
> 1
> 23
> 22
> 11
> 0
> 9
> 1
> 2
> 3
> 4
> 5
> 7
> 6
> 7
> 8
> EOF[root@localhost ~]# sort -n abc
0
1
1
2
3
4
5
6
7
7
8
9
11
22
23[root@localhost ~]# sort -n abc|uniq
0
1
2
3
4
5
6
7
8
9
11
22
23
[root@localhost ~]# [root@localhost ~]# sort -n abc|uniq -d
1
7
[root@localhost ~]# sort -n abc|uniq -c1 02 11 21 31 41 51 62 71 81 91 111 221 23
[root@localhost ~]# sort -n abc|uniq -u  显示不重复的
0
2
3
4
5
6
8
9
11
22
23
[root@localhost ~]# 

tree 命令详解

  • 查看目录结构
warning: /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:tree-1.6.0-10.el7                ################################# [100%]
[root@localhost ~]# [root@localhost ~]# which tree 查看命令安装位置
/usr/bin/which: no tre in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# [root@localhost ~]# mkdir p/{j/{d,h},k/{n,,m}} -p 创建目录
[root@localhost ~]# tree p  查看目录结构
p
├── j
│   ├── d
│   └── h
└── k├── m└── n6 directories, 0 files

软件资源管理相关

系统资源相关

tar、zip命令详解

  • 常用几种格式

    • .tar.gz (tar)
    • .tar.bz2 (tar),需要安装bzip2安装包
    • .tar.xz (tar)
    • .zip (zip) 跨平台的
  • 压缩比:gz<bz<xz (xz压缩效果最好,推荐使用tar.xz)
  • 常用压缩文件选项
    • -zcf 创建一个gz的文件压缩包
    • -jcf 创建一个bz2的文件压缩包
    • -Jcf 创建一个xz格式的文件压缩包
      -常用解压文件选项
    • -xf 解压指定文件(gz、xz用)
    • -xvf 解压指定文件并显示解压过程(gz、xz用)
    • -xjf 解压bz2文件的
  • 查看压缩的文件
    • -tvf 不解压查看一个文件
-c      创建归档
-z      压缩成gz格式
-j      压缩成bz2格式
-v      显示详细信息
-t      不解压查看压缩包内容
-f      指定要压缩或解压缩的文件
-x      解压缩
-C      将压缩文件解压到指定目录
[root@localhost ~]# ls /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm 查看bzip2安装包
[root@localhost ~]# rpm -ivh /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm 安装bzip2安装包
warning: /mnt/Packages/bzip2-1.0.6-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]package bzip2-1.0.6-13.el7.x86_64 is already installed[root@localhost ~]# tar -jcf hehe.tar.bz2 [[:alnum:]]  将数字、大小写字母 压缩为hehe.tar.bz2包[root@localhost ~]# tar -Jcf big.tar.xz *  将所有文件压缩成 tar.xz格式
[root@localhost ~]# tar -tvf big.tar.xz 不解压查看big.tar.xz 压缩包[root@localhost opt]# tar xf digit.tar.gz 解压digit(单个数字)压缩包
[root@localhost opt]# ls
1  2  3  4  8  alnum.tar.bz2  big.tar.xz  digit.tar.gz  hehe.tar.bz2
[root@localhost opt]# rm -f [[:digit:]] 删除数字
[root@localhost opt]# ls
alnum.tar.bz2  big.tar.xz  digit.tar.gz  hehe.tar.bz2
[root@localhost opt]# tar -xvf digit.tar.gz [root@localhost opt]# tar -xvf digit.tar.gz -C ~解压到家目录

zip 命令

  • 和gz2一样,也需要单独安装zip和unzip(看情况)
  • zip xx.zip 压缩
  • unzip xx.zip 解压缩
[root@localhost opt]# which zip    查看有没有zip 命令
/usr/bin/which: no zip in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]# ls /mnt/Packages/zip-3.0-11.el7.x86_64.rpm
/mnt/Packages/zip-3.0-11.el7.x86_64.rpm
[root@localhost opt]# rpm -ivh /mnt/Packages/zip-3.0-11.el7.x86_64.rpm 安装zip命令
warning: /mnt/Packages/zip-3.0-11.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:zip-3.0-11.el7                   ################################# [100%]
[root@localhost opt]# [root@localhost ~]# zip liuaoni.zip [[:digit:]] 将数字压缩zip格式adding: 1 (stored 0%)adding: 2 (stored 0%)adding: 3 (stored 0%)adding: 4 (stored 0%)adding: 8 (stored 0%)
[root@localhost ~]# unzip liuaoni.zip 解压zip文件

rpm 命令详解

  • Linux软件包管理大致可分为二进制包、源码包,使用的工具也各不相同。Linux常见软件包分为两种,分别是源代码包(Source Code)、二进制包(Binary Code),源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运行,二进制包无需编译,可以直接安装使用。
  • 通常而言,可以通过后缀简单区别源码包和二进制包,例如.tar.gz、.zip、.rar结尾的包通常称之为源码包,以.rpm结尾的软件包称之为二进制包。真正区分是否为源码还是二进制还得基于代码里面的文件来判断,例如包含.h、.c、.cpp、.cc等结尾的源码文件,称之为源码包,而代码代码里面存在bin可执行文件,称之为二进制包。
  • CentOS操作系统中有一款默认软件管理的工具,红帽包管理工具(Red Hat Package Manager,RPM)。
  • 使用RPM工具可以对软件包实现快速安装、管理及维护。RPM管理工具适用的操作系统包括:CentOS,RedHat,Fedora,SUSE等,RPM工具常用于管理.rpm后缀结尾的软件包。
  • RPM包命名格式为:
name-version.rpm
name-version-noarch.rpm
name-version-arch.src.rpm
  • 如下软件包格式:
epel-release-6-8.noarch.rpm
perl-Pod-Plainer-1.03-1.el6.noarch.rpm
yasm-1.2.0-4.el7.x86_64.rpm
  • 常用命令参数
PM 选项 PACKAGE_NAME
-a, --all                       查询所有已安装软件包;
-q,--query                   表示询问用户,输出信息;
-l, --list                      打印软件包的列表;
-f, --file                      FILE 查询包含 FILE 的软件包;
-i, --info                      显示软件包信息,包括名称,版本,描述;
-v, --verbose                   打印输出详细信息;
-U, --upgrade                   升级RPM软件包;
-h,--hash                       软件安装,可以打印安装进度条;
--last                      列出软件包时,以安装时间排序,最新的在上面;
-e, --erase                     卸载rpm软件包
--force                         表示强制,强制安装或者卸载;
--nodeps                        RPM包不依赖
-l, --list                      列出软件包中的文件;
--provides                  列出软件包提供的特性;
-R, --requires                  列出软件包依赖的其他软件包;
--scripts                       列出软件包自定义的小程序。
rpm  -q              httpd                        检查httpd包是否安装;
rpm  -ql            httpd                        查看软件安装的路径;
rpm  -qi            httpd                        查看软件安装的版本信息;
rpm  -e             httpd                        卸载httpd软件;
rpm  -e  --nodeps    httpd                       强制卸载httpd;
rpm  -qa|grep       httpd                        检查httpd相关的软件包是否安装。
rpm  -ivh           httpd-2.4.10-el7.x86_64.rpm      安装httpd软件包;
rpm  -Uvh           httpd-2.4.10-el7.x86_64.rpm      升级httpd软件;
rpm  -ivh  --nodeps    httpd-2.4.10-el7.x86_64.rpm   不依赖其他软件包;

yum 命令详解

开关机相关

shutdown命令详解

  • 关机,重启,定时关机
  • 语法:shutdown [选项]
  • 常用命令参数
    • -r => 重新启动计算机
    • -h => 关机
    • -h 时间 =>定时关机
[root@localhost ~]# shutdown -h +10      #10分钟之后关机
[root@localhost ~]# shutdown -h 23:30     #指定具体的时间点进行关机
[root@localhost ~]# shutdown -h now      #立即关机
[root@xuegod63 ~]#shutdown -r  22:22    #22:22 以后重启

init

  • 作用:切换系统运行级别
  • 语法:init 0-6
Linux 7个启动级别:
0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
2 多用户模式,没有NFS和网络支持
3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
5 图形化模式,登陆后进入图形GUI模式,X Window系
6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
[root@localhost ~]# init 0   #关机
[root@localhost ~]# init 3   #进入3级别字符界面
[root@localhost ~]# init 5   #进入5级别图形界面[root@localhost ~]# systemctl get-default 查兰当前默认启动级别
multi-user.target
[root@localhost ~]# ```## reboot
## poweroff# 命令替换
- 方式1:反引号 ``
- 方式2:$()
```
[root@localhost ~]# touch $(date '+%Y%m%d%%H%M%S')
[root@localhost ~]# date -s 20210307
Sun Mar  7 00:00:00 CST 2021[root@localhost ~]# touch `whoami` ```# bash常用操作
## 快捷键Ctrl+a      跳到命令行首Ctrl+e      跳到命令行尾Ctrl+u      删除光标至命令行首的内容Ctrl+k      删除光标至命令行尾的内容Ctrl+<--    光标定位到离自己最近的一个单词前面Ctrl+l      清屏## 命令历史
```
-history            查看命令历史
-c              清空命令历史
-d OFFSET [n]   删除指定位置的命令历史
-w              保存命令历史至历史文件~/.bash_history中
  • 命令历史的使用技巧
!n           执行命令历史中的第n条命令
!-n          执行命令历史中倒数第n条命令
!!           执行上一条命令
!string      执行命令历史中最近一个以指定字符串开头的命令
!$           引用前一个命令的最后一个参数
ctrl+R       搜索历史命令

文件名通配符

*       匹配任意长度的任意字符
?       匹配任意单个字符
[]      匹配指定范围内的任意单个字符
\       转义,只显示目标本身
.[abc],[a-m],[0-9][[:space:]]    表示空白字符[[:punct:]]    表示标点符号[[:lower:]]    表示小写字母[[:upper:]]    表示大写字母[[:alpha:]]    表示大小写字母[[:digit:]]    表示数字[[:alnum:]]    表示数字和大小写字母[^]     匹配指定范围之外的任意单个字符
  • 演示
[root@localhost ~]# touch hehe
[root@localhost ~]# mkdir xixi
[root@localhost ~]# ls ???
Apr  CST  Thu
[root@localhost ~]# ls ????   匹配四个字符的
2021  hehe  rootxixi:[root@localhost ~]# ls [[:upper:]] 匹配单个大写字母
A  B  C  V[root@localhost ~]# ls [[:lower:]]  匹配单个小写字母
ca:
b   b  c  d
[root@localhost ~]# ls [[:digit:]]   匹配单个数字
1  2  3  4  8
[root@localhost ~]# ls [[:alpha:]] 匹配单个大写、小写字母
A  B  c  C  D  F  Va:
b   b  c  d
[root@localhost ~]# ls [[:alnum:]]  匹配数字、大小写字母
1  2  3  4  8  A  B  c  C  D  F  Va:
b   b  c  d
[root@localhost ~]# 

环境变量

PATH        命令搜索路径
HISTSIZE    命令历史缓冲区大小
SHELL       当前shell

bash内置变量

RANDOM      保存着0-32768之间的随机数

总结

linux 基础命令是有很多的,也是很杂的,这是我从某知名培训机构学习后,进过自己日常中总的次数,总结下来的。希望看到这篇文章可以给你带来光明。如果你喜欢我,请点个赞,收藏,关注下吧,说不定哪天就用到了呢

linux 操作系统笔记基础命令相关推荐

  1. linux操作系统一些基础命令

    支持语言修改与查询:echo  $LANG,修改语言命令 LANG=en_US 修改为英语. bc切换出计算器,输入quit退出计算器 在使用man 或者 info 查询命令或者函数时,可以使用 pa ...

  2. linux 7 %3e命令,Linux操作系统常用基础命令

    1.查看当前目录 pwd命令用于显示当前目录: [root@master ~]# pwd /root 2.目录切换 cd命令用来切换(或进入)目录: [root@master ~]# cd /usr/ ...

  3. Linux操作系统使用基础05:Linux磁盘与文件系统管理

    目录 1. 文件系统特性 1.1 概述 1.1.1 操作系统相关性 1.1.2 磁盘与文件系统的关系 1.2 文件数据的存放 1.2.1 索引式 1.2.2 链表式 2. Linux的Ext2文件系统 ...

  4. Linux 操作系统编程基础知识

    Linux操作系统 1.Linux 操作系统编程基础知识 1.3 系统调用和库函数 1.3.1 接口 命令接口:以命令形式呈现在用户面前,方便用户直接或间接控制自己的作业. 程序接口:为应用程序使用系 ...

  5. Linux操作系统上lsof命令详解

    Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...

  6. Linux 远程工具 基础命令

    Linux 远程工具 基础命令 文章目录 Linux 远程工具 基础命令 1.虚拟机关键配置名词解释 1.1.虚拟网络编辑器说明 2.远程链接工具 3.linux 命令准则 4.系统运行命令 5.常用 ...

  7. linux系统locate,linux操作系统中locate命令的使用

    本章我们主要谈一谈Linux操作系统下locate命令的使用. 1. locate命令 locate命令用于在文件系统中通过名字来查找文件. 1.1 简述 locate命令用于查找文件或目录.loca ...

  8. linux操作系统 以下哪个命令,Linux认证考试基础试题及答案

    Linux认证考试基础试题及答案 1.Linux 核心的许可证是什么?( ) a. NDA b. GDP c. GPL d. GNU 答案:C 2.Linux是操作系统,意味着开放性源码是自由可用.( ...

  9. Linux操作系统笔记(超详细)

    [历史文章] Ubuntu在进行更新系统时出现Hash校验和不符的问题 Linux常用的命令总结(一)--ls命令与cd命令 Linux命令(二)mkdir命令与rmdir命令 Linux命令(三)t ...

最新文章

  1. android 一维数组遍历,$.each()循环遍历一维数组、二维数组、JSON数据和DOM元素
  2. javaweb调用python算法_请教怎么用java远程调用python? 多谢
  3. mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中
  4. 学习动态性能表(19)--v$undostat
  5. php函数clean(),wordpress函数clean_url()用法示例
  6. (转)动态规划和贪心算法的区别
  7. 什么,又是流程有问题?
  8. 未来教育计算机二级2016版,20163未来教育计算机二级题库(操作题).docx
  9. 生信分析用python还是r_生信分析利器:JupyterLab
  10. 美国英语情景对话大全(zt)
  11. 去掉Excel 单元格里的字符后面的空格
  12. 第十四章 - 垃圾回收概述
  13. 【转】jar参数运行应用时classpath的设置方法
  14. python科学数据库(一)
  15. 【方案开发】电子血压计方案开发设计
  16. 为你节省时间和挫败感
  17. 主动变被动9个例句_【语法课堂】全面了解被动语态的特殊用法考点总结
  18. 金龙鱼半年报:增收不增利,控本依旧是头等大事
  19. 数据结构基础--树的基础认识
  20. 【报告分享】 2020年度中国主要城市交通分析报告-高德地图(附下载)

热门文章

  1. CLRS第十四章思考题
  2. 如何用英语表达“忽悠”?
  3. 2022安全生产监管人员考试题库及模拟考试
  4. multipartfile 后端怎么接受_精华 | 前端必看,一文教你读懂芯片后端报告!
  5. 使用http-server启动本地服务
  6. CAN记录仪 can数据记录仪简介和功能应用 can总线记录
  7. Java反射机制的理解和在项目中的应用场景
  8. 單子の题解:直线石子合并
  9. Nero精简版 ImgBurn下载
  10. 【案例分析】从安捷伦的逆袭之路,看供应商管理如何实现双赢