- 查看Linux解释器
- 查看命令是内置还是外置
- 查看命令对应的程序/路径
- 查看命令如何使用
- 常用命令(使用中补充)
- pwd
- cd
- ls
- cat
- less
- lscpu
- hostname
- ifconfig
- tail
- head
- poweroff
- reboot
- grep
- vi/vim
- mkdir
- touch
- alias
- unalias
- mount
- umount
- rm
- mv
Linux默认解释器是/bin/bash,一般命令格式是命令 [选项1] [选项2]… [参数1] [参数2]…。
eg:root@money ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash查看命令是内置还是外置
格式:type [命令]
eg:[root@money /]# type pwd pwd 是 shell 内嵌 [root@money /]# type python python 是 /usr/bin/python查看命令对应的程序/路径
格式:which [命令]
eg:[root@money ~]# which hostname /usr/bin/hostname [root@money ~]# which ifconfig /usr/sbin/ifconfig查看命令如何使用
格式:[命令] --help
eg: [root@money ~]# 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 列出除. 及.. 以外的任何项目 ========================================================================= [root@money ~]# python --help usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x -c cmd : program passed in as string (terminates option list) -d : debug output from parser; also PYTHONDEBUG=x -E : ignore PYTHON* environment variables (such as PYTHONPATH) -h : print this help message and exit (also --help)常用命令(使用中补充) pwd
pwd:Print Working Directory,主要用途是查看当前所在路径。
eg:[root@money udev]# cd /etc/udev/
[root@money udev]# pwd ---输出当前路径
/etc/udev
cd
cd:Change Directory ,主要用途是切换工作目录。
格式1:cd [目标文件夹位置]
eg:cd / --进入根目录 cd /opt --进入opt目录
格式2:cd 特殊符号
| 符号 | 说明 |
|---|---|
| . | 当前目录 |
| … (两个点,不是三个) | 父目录(上一级目录) |
| ~ | 当前用户家目录 |
| ~用户名 | 进入指定用户目录 |
| – | 进入上次目录 |
| / | 根目录 |
eg:[root@money ~]# useradd A ---创建用户A
[root@money ~]# cd ~A ---进入指定用户目录
[root@money A]# pwd
/home/A ---查看当前路径,确定进入了所在用户目录
[root@money A]# cd ~ ---进入当前登录用户目录
[root@money ~]# pwd
/root
[root@money ~]# cd .. ---返回上一级目录
[root@money /]# pwd
ls
ls:List,查看指定目录下文件夹或文件
格式:ls -[参数] [目录或文件名]
常用命令参数(后续使用补充):
- -l:以长格式显示,显示详细信息
- -h:提供易读的容量单位(K、M等)
- -A:显示所有内容包含隐藏数据
- -R:递归显示内容(目录本身以及子目录内容)
eg:[root@money udev]# ls -l /opt ---ls -l可以简写为ll
总用量 4
-rw-r--r--. 1 root root 16 4月 24 21:34 Linux.txt
drwxr-xr-x. 2 root root 48 4月 16 15:18 my_source
[root@money udev]# ll -h /opt/my_source/ ---等同于ls -lh,一般-h和其它参数一起使用
总用量 4.0K
-rw-r--r--. 1 root root 3.6K 4月 16 15:18 FinalShell-Keygen-1.0-SNAPSHOT.jar
[root@money udev]# ls -A /root ---显示隐藏文件,但.当前目录和..上级目录不显示,若要显示,可使用-a
anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .finalshellc .tcshrc .viminfo
[root@money udev]# ls -R /opt ---显示opt目录下所有文件
/opt:
Linux.txt my_source
/opt/my_source:
FinalShell-Keygen-1.0-SNAPSHOT.jar
cat
cat:查看指定文件内容,一般用于查看内容较少的文件。
格式:cat -[参数] [文件名]
常用参数:–n,查看文件并显示行号
eg:[root@money udev]# cat /etc/centos-release ---查看当前系统版本
CentOS Linux release 7.9.2009 (Core)
[root@money udev]# cat -n /etc/shells ---显示文本内容并增加行号
1 /bin/sh
2 /bin/bash
3 /usr/bin/sh
4 /usr/bin/bash
[root@money udev]# cat -n /proc/meminfo ---查看当前内存信息并显示行号
1 MemTotal: 3861252 kB
2 MemFree: 3271256 kB
3 MemAvailable: 3334268 kB
4 Buffers: 2108 kB
5 Cached: 220748 kB
6 SwapCached: 0 kB
7 Active: 169728 kB
8 Inactive: 125516 kB
9 Active(anon): 73120 kB
10 Inactive(anon): 11148 kB
11 Active(file): 96608 kB
12 Inactive(file): 114368 kB
13 Unevictable: 0 kB
14 Mlocked: 0 kB
15 SwapTotal: 4063228 kB
16 SwapFree: 4063228 kB
17 Dirty: 4 kB
18 Writeback: 0 kB
19 AnonPages: 72452 kB
20 Mapped: 25792 kB
21 Shmem: 11880 kB
22 Slab: 172996 kB
23 SReclaimable: 113252 kB
24 SUnreclaim: 59744 kB
25 KernelStack: 4384 kB
26 PageTables: 5440 kB
27 NFS_Unstable: 0 kB
28 Bounce: 0 kB
29 WritebackTmp: 0 kB
30 CommitLimit: 5993852 kB
31 Committed_AS: 310208 kB
32 VmallocTotal: 34359738367 kB
33 VmallocUsed: 186552 kB
34 VmallocChunk: 34359310332 kB
35 Percpu: 33792 kB
36 HardwareCorrupted: 0 kB
37 AnonHugePages: 6144 kB
38 CmaTotal: 0 kB
39 CmaFree: 0 kB
40 HugePages_Total: 0
41 HugePages_Free: 0
42 HugePages_Rsvd: 0
43 HugePages_Surp: 0
44 Hugepagesize: 2048 kB
45 DirectMap4k: 110400 kB
46 DirectMap2M: 3035136 kB
47 DirectMap1G: 3145728 kB
less
less:查看文本文件内容,适合查看内容较多文件。
注:使用中按上、下键进行滚动,按q键进行退出
lscpu:查看当前系统CPU信息。
eg:[root@money udev]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 1 座: 2 NUMA 节点: 1 厂商 ID: AuthenticAMD CPU 系列: 25 型号: 80 型号名称: AMD Ryzen 5 5600G with Radeon Graphics 步进: 0 CPU MHz: 3900.001 BogoMIPS: 7800.00 超管理器厂商: VMware 虚拟化类型: 完全 L1d 缓存: 32K L1i 缓存: 32K L2 缓存: 512K L3 缓存: 16384K NUMA 节点0 CPU: 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext retpoline_amd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero arat umip pku ospke vaes vpclmulqdq overflow_recov succorhostname
hostname:查看及临时设置主机名。
格式1:hostname [临时主机名]
eg:[root@money ~]# hostname ---查看主机名
money
[root@money ~]# hostname aa.bb.cc ---临时将aa.bb.cc设置为主机名,重启失效,命令行只显示第一个:前的为主机名称
[root@aa ~]# hostname
aa.bb.cc
格式2:hostnamectl set-hostname 新主机名称
eg:[root@aa~]# hostnamectl set-hostname money [root@aa~]# hostname moneyifconfig
ifconfig:查看本机IP信息,也可临时设置IP。
格式:ifconfig [参数]
注:临时设置IP:ifconfig 网卡名称(ens33/ens0) 临时IP
eg:[root@money ~]# ifconfig ens33: flags=4163tailmtu 1500 ---网卡一般为ens33或ens0 inet 192.168.133.129 netmask 255.255.255.0 broadcast 192.168.133.255 inet6 fe80::c1c6:e9af:cf1e:3456 prefixlen 64 scopeid 0x20 ether 00:0c:29:ca:07:48 txqueuelen 1000 (Ethernet) RX packets 335092 bytes 27230302 (25.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 520185 bytes 98976762 (94.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 ---127.0.0.1:永远代表本机 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) 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@money ~]# ifconfig ens33 192.168.1.1 ---临时设置ens33的IP为192.168.1.1,重启恢复 [root@money ~]# ifconfig ens33: flags=4163 mtu 1500 inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::c1c6:e9af:cf1e:3456 prefixlen 64 scopeid 0x20 ether 00:0c:29:ca:07:48 txqueuelen 1000 (Ethernet) RX packets 342536 bytes 27835576 (26.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 531699 bytes 101149584 (96.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) 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
tail:从最后开始查看文本文件。
格式:tail [参数] [文件名]
常用命令参数(后续使用补充):
- -n:表示具体显示多少行内容,默认10
- -f:实时显示文件内容,CTRL和C结束
eg:[root@money ~]# tail -3 /etc/shells ---查看最后3行内容 /usr/bin/bash /bin/tcsh /bin/csh [root@money ~]# tail -f /etc/shells ---查看文件最后一行变化 /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh ^C ---按下CTRL和C结束head
head:从头开始查看文本文件。
格式:head -n [文件名],显示文件从头开始指定行数
eg:[root@money ~]# head -3 /etc/shells ---查看shells文件前3行内容 /bin/sh /bin/bash /usr/bin/shpoweroff
poweroff:关机。
格式:poweroff [参数],关闭当前系统
eg:[root@money ~]# poweroff 连接断开reboot
reboot:重启。
格式:reboot [参数],重启当前系统
eg:[root@money ~]# reboot 连接断开 连接主机... 连接主机成功 Last login: Wed Apr 27 09:49:22 2022 from 112.116.1.107 [root@money ~]#grep
grep:过滤只显示指定内容。
格式:grep [参数],输出包含指定字符串的行
常用命令参数(后续使用补充):
- -v:取反匹配,显示不包含指定字符串的行
- -i:忽略字母大小写进行匹配
eg:[root@money ~]# grep root /etc/passwd ---只查看passwd文件中含root的行 root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@svr ~]# grep -v root /etc/passwd ---查看passwd文件中不含root的行 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 games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin syslog:x:996:994::/home/syslog:/bin/false lighthouse:x:1000:1000::/home/lighthouse:/bin/bash www:x:1001:1001::/home/www:/sbin/nologin mysql:x:1002:1002::/home/mysql:/sbin/nologin [root@svr ~]# grep Root /etc/passwd [root@svr ~]# grep -i Root /etc/passwd ---忽略大小写显示 root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologinvi/vim
vi/vim:对文本文件进行编辑。
格式:vi/vim 文件,修改、查看文件内容
注:vi/vim无法直接创建目录
vi/vim三种模式:
- 命令模式:用户刚刚启动 vi/vim,便进入了命令模式。按i进入输入模式,按:进入底线命令模式
- 输入模式:按i进入输入模式,按ESC退出输入模式,切换到命令模式。
- 底线命令模式:在命令模式下按下:就进入了底线命令模式。基本的命令有q退出程序,w保存文件,ESC键可随时退出底线命令模式。
eg:[root@money ~]# [root@money opt]# vi /opt/1.txt ---编辑opt目录下的1.txt文件,若无该文件则直接创建 12342414134144 ---按下i进入输入模式,输入文本内容 ~ ~ -- INSERT -- 12342414134144 ---按下ESE进入底行命令模式 ~ ~ 12342414134144 ~ ~ :wq ---按下:进入命令编辑模式,wq表示保存所修改内容并退出mkdir
mkdir:创建目录。
格式:mkdir [参数] [路径],输出包含指定字符串的行
常见参数:-p,递归创建目录
eg:[root@svr ~]# mkdir /opt/aa/bb/cc mkdir: 无法创建目录"/opt/aa/bb/cc": 没有那个文件或目录 [root@svr ~]# mkdir -p /opt/aa/bb/cc ---递归创建,先创建aa,然后bb,最后cc [root@svr ~]# ls -R /opt/aa /opt/aa: bb /opt/aa/bb: cc /opt/aa/bb/cc:touch
touch:创建文件。
格式:touch [参数] [文件名],输出包含指定字符串的行
eg:[root@money dev]# touch /opt/rh/test.ini [root@money dev]# ls /opt/rh/test.ini /opt/rh/test.inialias
alias:查看或设置别名,简化复杂的命令
格式1:alias [别名],查看别名表示的完整命令
eg:[root@money dev]# 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' [root@money dev]# alias cp ---查看指定命令别名 alias cp='cp -i'
格式2:alias 别名名称= ‘实际执行的命令行’,临时自定义别名,只针对当前shell窗口生效
注: 如果想别名永久生效,只需将别名命令写到/etc/bashrc
eg:[root@money dev]# alias hs='hostname' [root@money dev]# hs svr.tedu.cn [root@money dev]# alias hs alias hs='hostname'unalias
unalias:取消别名。
格式:unalias [别名],临时取消别名,只针对当前shell生效
eg:[root@svr ~]# hs svr.tedu.cn [root@svr ~]# unalias hs [root@svr ~]# hs -bash: hs: 未找到命令mount
mount: 挂载磁盘、光驱等。
格式:mount 设备路径 挂载点目录
注:
1. 挂载允许一个设备,挂载到不同的挂载点目录
2. 挂载不允许一个挂载点目录,挂载多个设备
3. 建议挂载点目录,最好自行创建
eg:[root@money /]# mkdir /mytest ---创建挂载点,一般新建指定文件夹 [root@money /]# mount /dev/cdrom /mytest ---执行挂载操作,将/dev/cdrom挂载到/mytest下 mount: /dev/sr0 写保护,将以只读方式挂载 [root@money /]# ls /mytest/ ---可以查看到挂载目录下内容,挂载正常 CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBLumount
umount: 挂载磁盘、光驱等。
格式:umount 挂载点目录
注:当前所在的路径是挂载点目录(即挂载点目录正在被使用)无法完成卸载。
eg:[root@money Packages]# umount /mytest/
umount: /mytest:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@money Packages]# cd / ---退出挂载点目录
[root@money /]# umount /mytest/
[root@money /]# ls /mytest/
[root@money /]#
rm
rm:Remove,删除指定文件/文件夹。
格式:rm [参数-rf] [文件/文件夹]
常用参数
- -f:强制删除不提示
- -r:递归删除,包括某一文件夹下的子文件
eg:[root@svr opt]# ls aa a.txt mellanox nsd.txt rh [root@svr opt]# rm aa rm: 无法删除"aa": 是一个目录 [root@svr opt]# rm a.txt rm:是否删除普通空文件 "a.txt"?y [root@svr opt]# rm -rf aa ---递归强制删除 [root@svr opt]# ls mellanox nsd.txt rhmv
mv:move,将一文件/文件夹从一路径剪切到另一路径。
格式:mv [参数] 源路径文件/文件夹 指定路径 [重命名]
常用参数: -f,相同文件覆盖不提示
eg:[root@svr home]# mv /home/test.txt /opt/test.txt mv:是否覆盖"/opt/test.txt"? y ---未加参数,相同文件覆盖提示 [root@svr home]# mv -f /home/test.txt /opt/test.txt ---加-f参数,相同文件强制覆盖 [root@svr aa]# mkdir -p /home/ac/bb/cc [root@svr aa]# mv /home/ac/ /opt/bb ---把ac文件夹移动到opt目录下并重命名为bb [root@svr aa]# ls -R /opt/bb/ /opt/bb/: bb /opt/bb/bb: cc /opt/bb/bb/cc:



