Linux基础命令注释(二)

Linux基础命令注释(二)

文章目录

  • Linux基础命令注释(二)
    • ln 链接文件
    • copy 复制文件,一个文件到一个文件,多个文件到目录
    • cat 与 tac
    • more 全屏查看文本内容从前往后看完后自动退出(空格后翻)
    • less: 全屏查看文本内容空格后翻页,b 前翻页,看完不会自动退出,q 退出
    • head 与tail
    • du 查看文件或目录占用的磁盘空间大小
    • df 报告文件系统磁盘空间使用情
    • hostname 修改主机名
    • who
    • which 查看命令的绝对路径
    • clear 清屏
    • cal 打印日历
    • ldd 查看命令依赖那些库
    • date 时间
    • 帮助

ln 链接文件

  • ln -s [源文件] [链接名称] 软连接
[root@localhost ~]# ln -s anaconda-ks.cfg acd
[root@localhost ~]# ls -l
总用量 20
drwxr-xr-x. 3 root root   37 9月   8 11:02 a
-rw-r--r--. 1 root root   21 9月   8 09:31 abc
lrwxrwxrwx. 1 root root   15 9月  10 09:46 acd -> anaconda-ks.cfg
-rw-------. 1 root root 1451 9月   6 22:57 anaconda-ks.cfg


  • ln [源文件][连接名] 硬链接
[root@localhost ~]# ln anaconda-ks.cfg vbn
[root@localhost ~]# ll
总用量 24
drwxr-xr-x. 3 root root   37 9月   8 11:02 a
-rw-r--r--. 1 root root   21 9月   8 09:31 abc
lrwxrwxrwx. 1 root root   15 9月  10 09:46 acd -> anaconda-ks.cfg
-rw-------. 2 root root 1451 9月   6 22:57 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 9月   7 15:56 bbb
drwxr-xr-x. 3 root root   15 9月   7 16:33 c
-rw-r--r--. 1 root root  327 9月   7 16:42 cc
-rw-r--r--. 1 root root  126 9月   7 15:53 qwq
-rw-------. 2 root root 1451 9月   6 22:57 vbn

copy 复制文件,一个文件到一个文件,多个文件到目录

  • cp
[root@localhost ~]# ls
a  abc  acd  anaconda-ks.cfg  bbb  c  cc  qwq  vbn  wqw
[root@localhost ~]# cp abc cc
cp:是否覆盖"cc"? y

  • -a 归档复制,常用于备份
[root@localhost ~]# ls
a  abc   acd  anaconda-ks.cfg  bbb  c  cc  qwq  vbn  wqw
[root@localhost ~]# cp -a abc acb
[root@localhost ~]# ls
a  abc  acb  acd  anaconda-ks.cfg  bbb  c  cc  qwq  vbn  wqw

  • -r递归复制,拷贝目录时必须使用此选项
[root@localhost ~]# ls 
a  abc  acb  acd  anaconda-ks.cfg  bbb  c  cc  qwq  vbn  wqw
[root@localhost ~]# ls c
[root@localhost ~]# 
[root@localhost ~]# cp -r a c


cat 与 tac

  • cat 拼接文件内容并输出至标准输出(屏幕)
[root@localhost ~]# cat qwq
rootpw --iscrypted $6$15KaJSMJ1CnXnZP6$i.4EoTpZwTUTcZhK0oYRIjgyP9UTYbXsq//IV4xIiaB.2RfwtJP7SzhiAN4KcrAZP1ABjRIPx9pdl7vXdHoJk.

[root@localhost ~]# cat qwq wqw
rootpw --iscrypted $6$15KaJSMJ1CnXnZP6$i.4EoTpZwTUTcZhK0oYRIjgyP9UTYbXsq//IV4xIiaB.2RfwtJP7SzhiAN4KcrAZP1ABjRIPx9pdl7vXdHoJk.
rootpw --iscrypted $6$15KaJSMJ1CnXnZP6$i.4EoTpZwTUTcZhK0oYRIjgyP9UTYbXsq//IV4xIiaB.2RfwtJP7SzhiAN4KcrAZP1ABjRIPx9pdl7vXdHoJk.
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

  • -n显示行数
[root@localhost ~]# cat -n anaconda-ks.cfg 
     1	#version=DEVEL
     2	# System authorization information
     3	auth --enableshadow --passalgo=sha512
     4	repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
     5	repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
     6	# Use CDROM installation media
     7	cdrom
     8	# Use graphical install
     9	graphical
    10	# Run the Setup Agent on first boot
    11	firstboot --enable
    12	ignoredisk --only-use=sda
    13	# Keyboard layouts
    14	keyboard --vckeymap=cn --xlayouts='cn'
    15	# System language
    16	lang zh_CN.UTF-8
    .....


  • tac 链接文件并倒序打印内容至标准输出
[root@localhost ~]# cat /etc/issue
\S
Kernel \r on an \m

[root@localhost ~]# tac /etc/issue

Kernel \r on an \m
\S

more 全屏查看文本内容从前往后看完后自动退出(空格后翻)

[root@localhost ~]# more anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvaila
bility
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientS
torage
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
...

less: 全屏查看文本内容空格后翻页,b 前翻页,看完不会自动退出,q 退出

[root@localhost ~]# less anaconda-ks.cfg 

head 与tail

  • head 从文件首部打印文件内容,默认10行
[root@localhost ~]# head anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot

-[n]显示n行

[root@localhost ~]# head -15 anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language

[root@localhost ~]# cat anaconda-ks.cfg |head -15
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language

  • tail 从文件尾部打印文件内容,默认10行
[root@localhost ~]# tail anaconda-ks.cfg 

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end


-[n]显示n行

[root@localhost ~]# tail -15 anaconda-ks.cfg 
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end


[root@localhost ~]# cat anaconda-ks.cfg |tail -15
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end


  • 只显示[n]行
[root@localhost ~]# cat anaconda-ks.cfg |head -11 | tail -1
firstboot --enable


[root@localhost ~]# head -11 anaconda-ks.cfg | tail -1
firstboot --enable

du 查看文件或目录占用的磁盘空间大小

  • du 查看文件或目录占用的磁盘空间大小
[root@localhost ~]# du a
0	a/c
4	a

  • -s只查看本目录
[root@localhost ~]# du -s a
4	a

  • -h 显示目录文件大小
[root@localhost ~]# du -sh a
4.0K	a

  • wc文本统计; -c:统计文本字节数; w:统计文本单词数; -l:统计文本行数l
[root@localhost ~]# wc abc
 3  3 21 abc
[root@localhost ~]# wc -c abc
21 abc
[root@localhost ~]# wc -w abc
3 abc
[root@localhost ~]# wc -l abc
3 abc

df 报告文件系统磁盘空间使用情

  • df 报告文件系统磁盘空间使用情况
[root@localhost ~]# df
文件系统                 1K-块   已用     可用 已用% 挂载点
/dev/mapper/rhel-root 40137576 971488 39166088    3% /
devtmpfs                922456      0   922456    0% /dev
tmpfs                   933524      0   933524    0% /dev/shm
tmpfs                   933524   8844   924680    1% /run
tmpfs                   933524      0   933524    0% /sys/fs/cgroup
/dev/sda1              1038336 145824   892512   15% /boot
/dev/mapper/rhel-home 19593216  32956 19560260    1% /home
tmpfs                   186708      0   186708    0% /run/user/0

  • -h : 单位转换,以更友好的方式显示大小
[root@localhost ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   39G  949M   38G    3% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  904M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
/dev/mapper/rhel-home   19G   33M   19G    1% /home
tmpfs                  183M     0  183M    0% /run/user/0

hostname 修改主机名

  • hostname 查看或临时修改主机名,重开终端有效,重启失效
[root@hostnamectl ~]# hostname
hostnamectl
[root@hostnamectl ~]# hostname M
[root@hostnamectl ~]# hostname
M

  • hostnmectl 修改主机名(会修改配置文件 ),重开终端有效,重启依然有效
[root@M ~]# hostnamectl set-hostname hostnamectl
[root@M ~]# hostname
hostnamectl
[root@M ~]# shutdown -r now
Last login: Tue Sep 10 13:00:46 2019 from 192.168.213.1
[root@hostnamectl ~]# 


who

[root@hostnamectl ~]# who       //显示当前登录用户
root     pts/0        2019-09-10 13:02 (192.168.213.1)
[root@hostnamectl ~]# w     //显示当前在线用户并显示其正在运行的命令
 13:06:14 up 3 min,  1 user,  load average: 0.01, 0.01, 0.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.213.1    13:02    6.00s  0.07s  0.06s w
[root@hostnamectl ~]# whoami            //显示当前登录用户
root
[root@hostnamectl ~]# who am i          //显示当前登录用户
root     pts/0        2019-09-10 13:02 (192.168.213.1)
[root@hostnamectl ~]# 

  • tty 查看你的终端
[root@hostnamectl ~]# tty
/dev/pts/0

which 查看命令的绝对路径

[root@hostnamectl ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

clear 清屏

  • clear 或者 Ctrl+l
[root@hostnamectl ~]# clear
[root@hostnamectl ~]# 

cal 打印日历

[root@hostnamectl ~]# cal
      九月 2019     
日 一 二 三 四 五 六
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

  • [n]输出n年的日历1~9999
[root@hostnamectl ~]# cal 2012
                               2012                               

        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
 1  2  3  4  5  6  7             1  2  3  4                1  2  3
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    4  5  6  7  8  9 10
15 16 17 18 19 20 21   12 13 14 15 16 17 18   11 12 13 14 15 16 17
22 23 24 25 26 27 28   19 20 21 22 23 24 25   18 19 20 21 22 23 24
29 30 31               26 27 28 29            25 26 27 28 29 30 31

        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
 1  2  3  4  5  6  7          1  2  3  4  5                   1  2
 8  9 10 11 12 13 14    6  7  8  9 10 11 12    3  4  5  6  7  8  9
15 16 17 18 19 20 21   13 14 15 16 17 18 19   10 11 12 13 14 15 16
22 23 24 25 26 27 28   20 21 22 23 24 25 26   17 18 19 20 21 22 23
29 30                  27 28 29 30 31         24 25 26 27 28 29 30

        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
 1  2  3  4  5  6  7             1  2  3  4                      1
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    2  3  4  5  6  7  8
15 16 17 18 19 20 21   12 13 14 15 16 17 18    9 10 11 12 13 14 15
22 23 24 25 26 27 28   19 20 21 22 23 24 25   16 17 18 19 20 21 22
29 30 31               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30
        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6                1  2  3                      1
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    2  3  4  5  6  7  8
14 15 16 17 18 19 20   11 12 13 14 15 16 17    9 10 11 12 13 14 15
21 22 23 24 25 26 27   18 19 20 21 22 23 24   16 17 18 19 20 21 22
28 29 30 31            25 26 27 28 29 30      23 24 25 26 27 28 29
                                              30 31


ldd 查看命令依赖那些库

[root@hostnamectl ~]# ldd /usr/bin/ls
	linux-vdso.so.1 =>  (0x00007ffe917ec000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3a56334000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007f3a5612f000)
	libacl.so.1 => /lib64/libacl.so.1 (0x00007f3a55f25000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f3a55b62000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f3a55900000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f3a556fb000)
	/lib64/ld-linux-x86-64.so.2 (0x00005561b7879000)
	libattr.so.1 => /lib64/libattr.so.1 (0x00007f3a554f6000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3a552da000)


date 时间

[root@hostnamectl ~]# date
2019年 09月 10日 星期二 13:21:59 CST

[root@hostnamectl ~]# date -s '2019-09-10 13:21:30'
2019年 09月 10日 星期二 13:21:30 CST

  • 格式化输出时间:
    • +%Y:年
    • +%m:月
    • +%d:日
    • +%H:时
    • +%M:分
    • +%S:秒
[root@hostnamectl ~]# date +%y
19
[root@hostnamectl ~]# date +%m
09
[root@hostnamectl ~]# date +%d
10
[root@hostnamectl ~]# date +%H
13
[root@hostnamectl ~]# date +%M
56
[root@hostnamectl ~]# date +%MS
  • 创建当前时间文件
[root@hostnamectl ~]# touch $(date '+%Y%m%d')
[root@hostnamectl ~]# ls
20190910  a  abc  acb  acd  anaconda-ks.cfg  bbb 

帮助

  • help command 内置命令
[root@hostnamectl ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
    
    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.
    
    The variable CDPATH defines the search path for the directory containing
    DIR.  Alternative directory names in CDPATH are separated by a colon (:).
    A null directory name is the same as the current directory.  If DIR begins
    with a slash (/), then CDPATH is not used.
    
    If the directory is not found, and the shell option `cdable_vars' is set,
    the word is assumed to be  a variable name.  If that variable has a value,
    its value is used for DIR.

  • CMMAND --help 外部命令
[root@hostnamectl ~]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all			不隐藏任何以. 开始的项目
  -A, --almost-all		列出除. 及.. 以外的任何项目
      --author			与-l 同时使用时列出每个文件的作者
  -b, --escape			以八进制溢出序列表示不可打印的字符
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
                               1,048,576 bytes; see SIZE format below
  -B, --ignore-backups       do not list implied entries ending with ~
  -c                         with -lt: sort by, and show, ctime (time of last
                               modification of fil
  • man手册
    • []:可选
    • <>:必选
    • …:可出现多次
    • |:多选一
    • {}:分组
    • NAME:命令名称及功能简要说明
    • SYNOPSIS:用法说明,包括可用的选项
    • DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
    • OPTIONS:说明每一个选项的意义
    • FILES:此命令相关的配置文件
    • BUGS:报告bug
    • EXAMPLES:命令示例
    • SEE ALSO:另外参照
    • 翻屏:空格(向后翻一屏),b键(向前翻一屏)
  • 查找:
    • /KEYWORD:从前往后查找KEYWORD
    • ?KEYWORD:从后往前查找KEYWORD
    • n:下一个匹配的行
    • N:前一个匹配的行
    • q:退出
      • 大写N查找上一个
      • 小写n查找下一个
   Mandatory arguments to long options are mandatory for short options  too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              scale sizes by SIZE before printing them; e.g.,  '--block-size=M'  prints
              sizes in units of 1,048,576 bytes; see SIZE format below

       -B, --ignore-backups
              do not list implied entries ending with ~

       -c     with  -lt:  sort  by,  and show, ctime (time of last modification of file
              status information); with -l: show ctime and  sort  by  name;  otherwise:
              sort by ctime, newest first

       -C     list entries by columns
 Manual page ls(1) line 15 (press h for help or q to quit)

你可能感兴趣的:(linux)