cd命令
切换当前目录位置的命令
切换到/var/log目录
# cd /var/log/
切换到上一级目录
# cd ..
切换到当前用户主目录
# cd
切换到根目录
# cd /
Tips:Linux有严格的访问权限控制,所以普通用户只能切换到自己拥有权限的目录中。
pwd命令
显示当前目录
切换到/var/log目录下,查看路径
# cd /var/log
# pwd
/var/log
ls命令
列出目录和文件
查看当前目录下内容
# ls
anaconda-ks.cfg
列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息.也可以使用ll命令
# ls -l
total 4
-rw-------. 1 root root 1423 Dec 13 01:08 anaconda-ks.cfg
# ll
total 4
-rw-------. 1 root root 1423 Dec 13 01:08 anaconda-ks.cfg
列出所有文件,包括以 "." 开头的隐含文件。
# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc
touch命令
创建一个内容为空的文件
创建HelloWorld.txt文件
# touch HelloWorld.txt
若文件已存在会更新文件的修改时间为当前时间
# ll
total 8
-rw-------. 1 root root 1423 Dec 13 01:08 anaconda-ks.cfg
-rw-r--r--. 1 root root 15 Dec 13 23:06 HelloWorld.txt
# touch HelloWorld.txt
# ll
total 8
-rw-------. 1 root root 1423 Dec 13 01:08 anaconda-ks.cfg
-rw-r--r--. 1 root root 15 Dec 13 23:07 HelloWorld.txt
cat命令
显示文件内容
在屏幕上显示HelloWorld.txt文件内容
# cat HelloWorld.txt
Hello World!!!
df命令
查看文件系统
显示文件系统的磁盘使用情况统计
# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 485856 0 485856 0% /dev
tmpfs 497852 0 497852 0% /dev/shm
tmpfs 497852 7792 490060 2% /run
tmpfs 497852 0 497852 0% /sys/fs/cgroup
/dev/mapper/centos-root 17811456 1284976 16526480 8% /
/dev/sda1 1038336 140284 898052 14% /boot
tmpfs 99572 0 99572 0% /run/user/0
使用人类可读的格式
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 1.3G 16G 8% /
/dev/sda1 1014M 137M 878M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
列出 inode 资讯,不列出已使用 block
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 121464 388 121076 1% /dev
tmpfs 124463 1 124462 1% /dev/shm
tmpfs 124463 734 123729 1% /run
tmpfs 124463 16 124447 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 27190 8883658 1% /
/dev/sda1 524288 326 523962 1% /boot
tmpfs 124463 1 124462 1% /run/user/0
Tips:df命令默认会以KB为为单位显示磁盘空间的使用情况,所以一般加上-h参数查看
echo命令
显示信息,用于输出命令中的字符串或变量,默认输出到屏幕上,也可以通过重定向把信息输出到文件或其他设备上
在屏幕上显示Hello World
# echo Hello World
Hello World
显示变量PATH值
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export命令
Shell中可以自定义环境变量,为变量设置相应的值,定义完成后可以在其他命令或Shell脚本中进行引用
代理IP192.168.1.2,端口3128,设置通过代理联网
# export http_proxy=http://192.168.1.2:3128
# export https_proxy=https://192.168.1.2:3128
hostname命令
主机名,hostname命令可以显示主机名也可以更改主机名,但更改的主机名仅对本次启动生效,系统重启后更改信息将会丢失
查看主机名
# hostname
bogon
更改主机名
# hostname server
# hostname
server
history命令
历史命令,会显示系统历史命令列表,该列表默认保留最近输入的500条命令,由零开始,每加一条递增一。
显示历史命令
# history
1 ip a
2 cd /etc/sysconfig/network-scripts/
3 ls
4 vi ifcfg-ens33
5 ifup ens33
6 ip a
7 init 0
........
env命令
显示环境变量
列出会话中当前设置的所有变量及它们的值
# env
XDG_SESSION_ID=26
HOSTNAME=bogon
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.3.198 60314 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.UTF-8
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=192.168.3.198 60314 192.168.3.187 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
_=/usr/bin/env
ps命令
查看进程
系统中所有在运行的进程
# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Dec13 ? 00:00:11 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 Dec13 ? 00:00:00 [kthreadd]
root 4 2 0 Dec13 ? 00:00:00 [kworker/0:0H]
root 5 2 0 Dec13 ? 00:00:04 [kworker/u256:0]
root 6 2 0 Dec13 ? 00:00:00 [ksoftirqd/0]
root 7 2 0 Dec13 ? 00:00:00 [migration/0]
root 8 2 0 Dec13 ? 00:00:00 [rcu_bh]
root 9 2 0 Dec13 ? 00:00:05 [rcu_sched]
........
who命令
查看用户,当前登录系统的都有哪些用户,who命令只显示最初登录系统的用户,登录后切换的用户被显示
查看当前登录用户
# who
root pts/0 2020-12-14 09:20 (192.168.3.198)
su命令
切换用户,由普通用户切换到其他用户需要输入切换用户的口令。如果是超级用户(root)切换到其他用户则无需输入口令。
切换到root用户
$ whoami
admin
$ su root
Password:
# whoami
root
切换用户并重置环境变量
$ export count=123
$ su root
Password:
# echo $count
123
# exit
exit
$ su - root
Password:
Last login: Mon Dec 14 21:58:26 CST 2020 on pts/0
# echo $count
Tips:使用su -切换用户可以重置环境变量
grep命令
过滤信息,可以冲文件或命令输出内容中查找满足指定条件的行数据。
过滤正在运行的进程,有哪些有关sshd的
# ps -ef|grep sshd
root 1004 1 0 Dec13 ? 00:00:00 /usr/sbin/sshd -D
root 67163 1004 0 21:43 ? 00:00:00 sshd: root@pts/0
root 68262 68038 0 22:02 pts/0 00:00:00 grep --color=auto sshd
过滤/var/log/messages文件中,有sshd的行
# cat /var/log/messages |grep sshd
Dec 13 01:10:50 localhost sshd-keygen: Generating SSH2 RSA host key: [ OK ]
Dec 13 01:10:50 localhost sshd-keygen: Generating SSH2 ECDSA host key: [ OK ]
Dec 13 01:10:50 localhost sshd-keygen: Generating SSH2 ED25519 host key: [ OK ]
过滤当前路径带txt的文件或目录(包含隐藏目录)
[root@server ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc HelloWorld.txt .tcshrc
[root@server ~]# ls -a|grep txt
HelloWorld.txt
过滤当前路径不带txt的文件或目录
[root@server ~]# ls -a|grep -v txt
.
..
anaconda-ks.cfg
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.tcshrc
查看当前路径包含history和logout的文件
# ls -a|grep -E "history|logout"
.bash_history
.bash_logout
wc命令
用于统计,可以统计文件行数,单词数,和字节数
统计当前路径文件个数
# ls
anaconda-ks.cfg HelloWorld.txt
# ls|wc -l
2
统计文件HelloWorld.txt信息
# cat HelloWorld.txt
Hello World!!!
# wc HelloWorld.txt
1 2 15 HelloWorld.txt
- 第一列为文件的行数
- 第二列为文件内容的单词数
- 第三列为文件的字节数
- 最后一列是文件名