Linux常用命令

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
  • 第一列为文件的行数
  • 第二列为文件内容的单词数
  • 第三列为文件的字节数
  • 最后一列是文件名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容