LINUX基础命令及man帮助的使用情况

命令提示符


```
命令提示符:prompt
[root@localhost~]#
管理员$ 普通用户
显示提示符格式
[root@localhost~]#echo $PS1
修改提示符格式
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
\e \033\u 当前用户
\h 主机名简称\H 主机名
\w 当前工作目录\W 当前工作目录基名
\t 24小时时间格式\T 12小时时间格式
\! 命令历史数\# 开机后命令历史数

```

Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上:export PS1=’[u@h W]$ ‘即可

,其中u显示当前用户账号,h显示当前主机名,W显示当前路径,$显示’$'符号W 代替 w 就可以实现绝对路径到相对路径的转换

2.提示行的转译字符

序列 说明
\a ASCII 响铃字符(也能够键入 \007)
\d "Wed Sep 06" 格式的日期
\e ASCII 转义字符(也能够键入 \033)
\h 主机名的第一部分(如 "mybox")
\H 主机的全称(如 "mybox.mydomain.com")
\j 在此shell中通过按 ^Z 挂起的进程数
\l 此 shell 的终端设备名(如 "ttyp4")
\n 换行符
\r 回车符
\s shell 的名称(如 "bash")
\t 24 小时制时间(如 "23:01:01")
\T 12 小时制时间(如 "11:01:01")
@ 带有 am/pm 的 12 小时制时间
\u username
\v bash 的版本号(如 2.04)
\V Bash 版本号(包含补丁级别)
\w 当前工作文件夹(如 "/home/drobbins")
\W 当前工作文件夹的“基名 (basename)”(如 "drobbins")
! 当前命令在历史缓冲区中的位置
# 命令编号(仅仅要您键入内容,它就会在每次提示时累加)
$ 假设您不是超级用户 (root)。则插入一个 "$";假设您是超级用户。则显示一个 "#"
\xxx 插入一个用三位数 xxx(用零取代未使用的数字,如 "\007")表示的 ASCII 字符
\ 反斜杠

[ 这个序列应该出如今不移动光标的字符序列(如颜色转义序列)之前。它使 bash 可以正确计算自己主动换行。 

简单的LINUX基础命令

  • free:查看内存使用情况
    示例
free
              total        used        free      shared  buff/cache   available
Mem:        1200424      664380       65836        8912      470208      314344
Swap:       2097148           0     2097148
  • cd:切换当前工作目录

常用语法:cd +[参数]

  • 示例:切换工作目录到/data
- [zhangxiao@localhost etc]$cd /data
[zhangxiao@localhost data]$

常用用法: cd [~] :切换目录到当前用户的家目录

[zhangxiao@localhost data]$cd
[zhangxiao@localhost ~]$

备注:cd ~和cd效果相同,通常我们都直接使用cd命令回到家目录

  • cat #### :打开文件
  • 语法:cat +[参数] +目标文件
常用选项:
n:在文件的每一行前面加上行号
e:在文件的每一行后面加上$

:查看etc下passwd文件

[root@localhost data]# cat /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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

示例 备注:tac命令是按文件的每一行倒叙显示

  • ls:显示目标文件列表

> - 常用选项
>  -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
> -A:显示除影藏文件“.”和“..”以外的所有文件列表;
>  -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
>  -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
>  -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
>  -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
>  -R:递归处理,将指定目录下的所有文件及子目录一并处理;
>  -X:按照文件名后缀进行排序

常用语法:ls +[选项] +[参数]

示例1 ls:显示当前目录下的(非隐藏)文件列表

[zhangxiao@localhost ~]$ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
[zhangxiao@localhost ~]$

示例2 ls -a:显示/boot文件夹下的所有文件包括隐藏文件(以.开头的文件为隐藏文件)

[zhangxiao@localhost ~]$ls -a /boot
.
..
config-3.10.0-693.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-295b0129638c418c89e905e6a5dbaa58.img
initramfs-3.10.0-693.el7.x86_64.img
initrd-plymouth.img
symvers-3.10.0-693.el7.x86_64.gz
System.map-3.10.0-693.el7.x86_64
vmlinuz-0-rescue-295b0129638c418c89e905e6a5dbaa58
vmlinuz-3.10.0-693.el7.x86_64
.vmlinuz-3.10.0-693.el7.x86_64.hmac
[zhangxiao@localhost ~]$

示例3 ls -l :以长格式显示当前工作目录下的多有文件

[zhangxiao@localhost ~]$ls -l 
total 0
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Desktop
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Documents
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Downloads
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Music
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Pictures
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Public
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Templates
drwxr-xr-x. 2 zhangxiao zhangxiao 6 Mar 28 19:39 Videos
  • fdisk -l(此命令需要root权限)查看剩余磁盘空间
[zhangxiao@localhost ~]$su - root
Password: 
Last login: Wed Mar 28 20:37:47 CST 2018 on tty2
[root@localhost ~]# fdisk -l

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000dee8e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     6293503     3145728   83  Linux
/dev/sda2         6293504   111151103    52428800   83  Linux
/dev/sda3       111151104   174065663    31457280   83  Linux
/dev/sda4       174065664   419430399   122682368    5  Extended
/dev/sda5       174067712   178262015     2097152   82  Linux swap / Solaris
[root@localhost ~]#
  • lsblk 查看磁盘分区

示例:lsblk:查看磁盘分区情况

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    3G  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0   30G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    2G  0 part [SWAP]
sr0     11:0    1  8.1G  0 rom  /run/media/zhangxiao/CentOS 7 x86_64

其中sro为磁盘挂载分区。

  • ifconfig:查看网络连接情况

示例

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.102.35  netmask 255.255.0.0  broadcast 172.20.255.255
        inet6 fe80::271e:9dec:b44b:96aa  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d1:e3:8c  txqueuelen 1000  (Ethernet)
        RX packets 117570  bytes 14372960 (13.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2686  bytes 928821 (907.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 24  bytes 2808 (2.7 KiB)
        RX erros 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 2808 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:da:6f:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]#

如果ens33 网卡init后有IP地址则此机器网段正常,如果没有则此机器未获取到IP地址。

  • id -u:查看用户的UID

示例

[ot@localhost ~]# id -u zhangxiao 
1000
[root@localhost ~]#

其中UID账户如果为O则说明此用户拥有管理员权限,如果不是则为普通用户。

  • tty : 查看当前所在终端

示例

[root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]

pst/后显示结果为几 此当前处于终端几。

  • whoami :显示当前用户名

示例

[root@localhost ~]# whoami
root
[root@localhost ~]#
  • who am i :显示当前用户名,所在终端等

示例

[root@localhost ~]# who am i 
zhangxiao pts/1        2018-03-30 10:19 (172.20.0.1)
  • who:查看谁在登录路终端

示例

[zhangxiao@localhost ~]$who
zhangxiao :0           2018-03-30 08:56 (:0)
zhangxiao tty2         2018-03-30 08:57
zhangxiao pts/0        2018-03-30 09:56 (172.20.0.1)
zhangxiao pts/1        2018-03-30 10:19 (172.20.0.1)
[zhangxiao@localhost ~]$
  • w:查看谁在登录终端,并且都在做什么

示例

[zhangxiao@localhost ~]$w
 12:17:13 up  3:23,  4 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
zhangxia :0       :0               08:56   ?xdm?   1:31   0.40s /usr/libexec/gnome-session-binary --session gnome-classic
zhangxia tty2                      08:57    3:19m  0.11s  0.11s -bash
zhangxia pts/0    172.20.0.1       09:56    1.00s  0.19s  0.04s w
zhangxia pts/1    172.20.0.1       10:19   20:49   0.46s  0.34s sshd: zhangxiao [priv]
  • init 3关图形界面 init 5 打开图形界面

  • runlevel:查看当前工作模式

示例

[zhangxiao@localhost ~]$runlevel
N 5
[zhangxiao@localhost ~]$
  • hostname:显示完整的主机名

示例

[zhangxiao@localhost ~]$hostname
localhost.localdomain
[zhangxiao@localhost ~]$
  • type:查看命令类型

语法:type +参数(命令) 示例:查看type命令的类型

[zhangxiao@localhost ~]$type type 
type is a shell builtin
[zhangxiao@localhost ~]$type w
w is hashed (/usr/bin/w)
[zhangxiao@localhost ~]$

能查到文件路径的是外部路径

  • enable:启用命令

语法:enable +[选项]+ [参数] 示例:启用type

[zhangxiao@localhost ~]$enable type
[zhangxiao@localhost ~]$type w
w is hashed (/usr/bin/w)
[zhangxiao@localhost ~]$

-常用选项enable -n :禁用某个内部命令 示例:禁用type

[zhangxiao@localhost ~]$enable -n type
[zhangxiao@localhost ~]$type w
bash: type: command not found...
[zhangxiao@localhost ~]$

备注 enable不加选项可以查看系统中所有的内部命令

  • which :查看外部命令所在的路径

语法:which +参数(命令)
示例:w命令所在的路径是

[zhangxiao@localhost ~]$which w 
/usr/bin/w
[zhangxiao@localhost ~]$

常用用法which --skip-alias 只显示命令的路径 示例

[zhangxiao@localhost ~]$which --skip-alias ls
/usr/bin/ls
  • whereis查看命令的所在路径以及帮助文档的所在位置

用法:whereis +参数 示例 :查看命令w所在路径以及帮助文档的所在位置

[zhangxiao@localhost ~]$whereis w
w: /usr/bin/w /usr/share/man/man1/w.1.gz
[zhangxiao@localhost ~]$whereis type
type: /usr/share/man/man1/type.1.gz /usr/share/man/man1p/type.1p.gz
[zhangxiao@localhost ~]$
  • date :显示时间

语法:date(选项)(参数)

用选项:-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

参数:<+时间日期格式>:指定显示时使用的日期时间格式。

%H 小时,24小时制(00~23
%I 小时,12小时制(01~12
%k 小时,24小时制(0~23
%l 小时,12小时制(1~12
%M 分钟(00~59
%p 显示出AMPM
%r 显示时间,12小时制(hh:mm:ss %p
%s 19701100:00:00到目前经历的秒数
%S 显示秒(00~59
%T 显示时间,24小时制(hh:mm:ss
%X 显示时间的格式(%H:%M:%S
%Z 显示时区,日期域(CST
%a 星期的简称(Sun~Sat
%A 星期的全称(Sunday~Saturday
%h,%b 月的简称(Jan~Dec
%B 月的全称(January~December
%c 日期和时间(Tue Nov 20 14:12:58 2012
%d 一个月的第几天(01~31
%x,%D 日期(mm/dd/yy
%j 一年的第几天(001~366
%m 月份(01~12
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y年的最后两个数字(1999则是99

示例:设置当前时间

[root@localhost ~]# date -s "2018/03/29"
Thu Mar 29 00:00:00 CST 2018
[root@localhost ~]# date
Thu Mar 29 00:00:07 CST 2018
[root@localhost ~]# date -s "15:45:39"
Thu Mar 29 15:45:39 CST 2018
[root@localhost ~]# date 
Thu Mar 29 15:45:42 CST 2018

示例:显示三天前时间

[root@localhost ~]# date -s "-3 day" +%F%T
2018-03-2615:48:47
[root@localhost ~]#
  • clock :显示硬件时间

语法clock + [选项] 常用选项
-s:调整时间,一硬件时间为准
-w:调整时间以系统时间为准

  • wall(参数):向当前所有登录此系统的终端发信息

示例

[root@localhost ~]# wall "hello"
[root@localhost ~]# 
Broadcast message from root@localhost.localdomain (pts/0) (Mon Mar 26 15:56:29 2018):

hello
  • echo :显示所输出的字符

语法:echo +[选项] +[参数] 示例:显示 hello

[zhangxiao@localhost ~]$echo hello
hello
[zhangxiao@localhost ~]$

echo的选项有:-e,使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

>  发出警告声;
>  删除前一个字符;
>  最后不加上换行符号;
>  换行但光标仍旧停留在原来的位置;
>  换行且光标移至行首;
>  光标移至行首,但不换行;
>  插入tab
>  \f相同;
>  插入\字符;
> nn 插入nnn(八进制)所代表的ASCII字符;

参数可以是普通文字 我们可以给字体加上颜色 示例

zhangxiao@localhost ~]$echo -e "\e[1;31mhello\e[0m"
hello
[zhangxiao@localhost ~]$

同时echo的参数也可以是变量
示例:显示当前主机名

[zhangxiao@localhost ~]$echo `hostname`
localhost.localdomain
[zhangxiao@localhost ~]$
  • hexdump:以二进制查看文件

语法:hexdump +参数 示例

[zhangxiao@localhost etc]$hexdump fstab
0000000 230a 230a 2f20 7465 2f63 7366 6174 0a62
0000010 2023 7243 6165 6574 2064 7962 6120 616e
0000020 6f63 646e 2061 6e6f 5720 6465 4d20 7261
0000030 3220 2038 3731 353a 3a39 3630 3220 3130
0000040 0a38 0a23 2023 6341 6563 7373 6269 656c
0000050 6620 6c69 7365 7379 6574 736d 202c 7962
0000060 7220 6665 7265 6e65 6563 202c 7261 2065
0000070 616d 6e69 6174 6e69 6465 7520 646e 7265
  • hash (选项)

系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率 hash常见用法

> sh 显示hash缓存
> sh l 显示hash缓存,可作为输入使用
> sh p path name 将命令全路径path起别名为name
> sh t name 打印缓存中name的路径
> sh d name 清除name缓存
> sh r 清除缓存
  • alias(选项)(参数)

  • 定义等号后面的参数为前面的别名 示例:定义ct为cat /etc/passwd的别名
[zhangxiao@localhost etc]$alias "ct=cat /etc/passwd"
[zhangxiao@localhist etc]$

同理unalias(参数)就是取消别名定义
alias可以直接查看系统中存在的所有别名
如果想别名永久生效可以把它放在~/.bashrc中, .或者source下.bashrc可以当生效。

  • halt:关机

  • poweroff也是关机 其中halt属于不断电关机power属于断电关机

  • reboot:重启

  • shutdown(选项)(参数):关机

> : reboot
> : halt
> cancel
> ME:无指定,默认相当于+1
> w: 立刻,相当于+0
> : 相对时间表示法,几分钟之后;例如+3
> :mm: 绝对时间表示,指明具体时间
  • screen

reen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
恢复
creen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。
用法

创建新screen会话
screen S [SESSION]
加入screen会话
screen x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
  • tab

  • 命令补全 内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全
否则,再次Tab会给出列表
路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果惟一:则直接补全
否则:再次Tab给出列表
  • TAB键的使用
command 2Tab 所有子命令或文件补全
string2Tab string开头命令
/2Tab 显示所有根目录下一级目录,包括隐藏目录
./2Tab 当前目录下子目录,包括隐藏目录
*2Tab 当前目录下子目录,不包括隐藏目录
~2Tab 所有用户列表
$2Tab 所有变量
@2Tab /etc/hosts记录(centos7不支持)
=2Tab 相当 ls A centos7不支持)
  • history

- history [-c] [-d offset] [n]
history -anrw[filename]
history -psarg[arg...]
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
显示历史命令

~调用历史参数

command !^ 利用上一个命令的第一个参数做cmd的参数
command !$ 利用上一个命令的最后一个参数做cmd的参数
command !* 利用上一个命令的全部参数做cmd的参数
command !:n 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数

调用历史参数

command !string:^ 从命令历史中搜索以string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以string 开头的命令,并获取它的所有参数
  • centoS bash常用快捷键

Ctrl + l清屏,相当于clear命令
Ctrl + c终止命令
Ctrl + a光标移到命令行首,相当于Home
ctrl+ e光标移到命令行尾,相当于End
Ctrl + u从光标处删除至命令行首
Ctrl + k从光标处删除至命令行尾
Alt + r 删除当前整行

查看帮助

-#### whatis(参数) whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上。 示例

[zhangxiao@localhost ~]$whatis type
type (1)             - bash built-in commands, see bash(1)
type (1p)            - write a description of command type

备注:如果刚安装系统不可用我们可以用makewhauis来安装此工具

  • help
内部命令:help COMMAND
man bash
外部命令:(1) COMMAND --help
COMMAND -h
  • man

提供命令帮助的文件
手册页存放在/usr/share/man
几乎每个命令都有man的“页面”
man页面分组为不同的“章节”
统称为Linux手册
man命令的配置文件:/etc/man.config| man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示
中文man需安装包man-pages-zh-CN

man 章节

1: 用户命令
2: 系统调用
3: C库调用
4: 设备文件及特殊文件
5: 配置文件格式
6: 游戏
7: 杂项
8: 管理类的命令
9Linux 内核API

man帮助

查看man手册页
man [章节] keyword
列出所有帮助
man a keyword
搜索man手册
man -kkeyword列出所有匹配的页面
使用whatis数据库
相当于whatis
man f keyword
打印man帮助文件的路径
man w [章节] keyword

猜你喜欢

转载自blog.csdn.net/qq_41924470/article/details/79989384