Linux基础命令

目录

前言

创建新目录:mkdir

创建空文件:touch

ln 创建硬链接,相当于复制一个副本

复制文件或目录 cp

移动文件夹或目录/改名 :mv

查找命令/文件存放目录which

查找文件或目录 : find

查看文件内容 :cat 

查看文件内容:more

查看文件内容 :less 

查看文件内容head、tail 命令

统计文件内容wc命令(world count)

检索和过滤文件内容grep

压缩命令:gzip 、bzip

归档命令:tar

总结


前言

作为一名云计算工程师,Linux的使用是我们必须熟练掌握的东西,我们的工作就是通过命令与Linux系统进行沟通来满足各种需求。今天我会做一篇linux系统的基础命令,这些命令会作为我们云计算工程师的起步。

创建新目录:mkdir

mkdir [选项] 目录位置及名称

mkdir -p   递归创建文件夹

[root@192 ghr]# mkdir -p 1/2/3/4
[root@192 ghr]# tree
.
└── 1
    └── 2
        └── 3
            └── 4

4 directories, 0 files
[root@192 ghr]# 

[root@192 ghr]# mkdir -p /home/ghr/{1..4}

[root@192 ghr]# mkdir -p /home/ghr/{1..4}   #在home下的ghr文件夹中连续创建1到4的文件夹,
同理可创建以连续字母为名称的多个文件夹
[root@192 ghr]# tree
.
├── 1
│?? └── 2
│??     └── 3
│??         └── 4
├── 2
├── 3
└── 4

7 directories, 0 files
[root@192 ghr]# 

创建空文件:touch

touch {1..3}  :可以创建多个连续的文件

[root@192 ghr]# touch {1..3}
[root@192 ghr]# ls
1  2  3
[root@192 ghr]# ls -lh
总用量 0
-rw-r--r--. 1 root root 0 7月  29 16:56 1
-rw-r--r--. 1 root root 0 7月  29 16:56 2
-rw-r--r--. 1 root root 0 7月  29 16:56 3
[root@192 ghr]# 

touch a b c 分别创建a b c ,名称之间并无联系

[root@192 ghr]# touch a b c
[root@192 ghr]# ls -lh
总用量 0
-rw-r--r--. 1 root root 0 7月  29 16:56 1
-rw-r--r--. 1 root root 0 7月  29 16:56 2
-rw-r--r--. 1 root root 0 7月  29 16:56 3
-rw-r--r--. 1 root root 0 7月  29 16:58 a
-rw-r--r--. 1 root root 0 7月  29 16:58 b
-rw-r--r--. 1 root root 0 7月  29 16:58 c
[root@192 ghr]# 

touch {1..3}.txt  :在文件夹名称后可以加统一的后缀

[root@192 ghr]# touch {1..3}.txt
[root@192 ghr]# ls -lh
总用量 0
-rw-r--r--. 1 root root 0 7月  29 17:03 1.txt
-rw-r--r--. 1 root root 0 7月  29 17:03 2.txt
-rw-r--r--. 1 root root 0 7月  29 17:03 3.txt
[root@192 ghr]# 

ln 创建硬链接,相当于复制一个副本

ln 1 2 :讲1复制并放到2里

[root@192 ghr]# vim 1
[root@192 ghr]# cat 1

wo shi 111111111111111111
[root@192 ghr]# ln 1 2
[root@192 ghr]# ls
1  1.txt  2
[root@192 ghr]# cat 2

wo shi 111111111111111111
[root@192 ghr]# rm -rf 1.txt
[root@192 ghr]# ls
1  2
[root@192 ghr]# rm -rf 1
[root@192 ghr]# ls
2
[root@192 ghr]# cat 2

wo shi 111111111111111111
[root@192 ghr]# 

由此可见,移除源文件不影响被目标文件。

ln -s 创建软链接,相当于快捷方式

ln -s a b

[root@192 ghr]# echo "wo shi aaaaaaa" > a
[root@192 ghr]# ls
a
[root@192 ghr]# ln -s a b
[root@192 ghr]# cat b
wo shi aaaaaaa
[root@192 ghr]# rm -rf a
[root@192 ghr]# ls 
b
[root@192 ghr]# cat b
cat: b: 没有那个文件或目录
[root@192 ghr]# 
[root@192 ghr]# echo "wo shi bbbbbbb" > a
[root@192 ghr]# ls
a  b
[root@192 ghr]# cat b
wo shi bbbbbbb
[root@192 ghr]# 

由此可见软链接在源文件失效的时候无法生效,但当我们恢复源路径内文件,即使内容不一致软链接依然生效

复制文件或目录 cp

cp -r递归复制,复制目录时必须使用此指令

cp -rf 覆盖目标同名文件或目录不进行提醒,直接强制覆盖。

[root@192 home]# cp -rf /home/ghr/{1..4} ghr1
[root@192 home]# ls ghr1
1  2  3  4
[root@192 home]# cp -rf /home/ghr/{1..4} ghr1
[root@192 home]# 

cp -ri :覆盖同名文件或目录进行提醒。

[root@192 home]# cp -ri /home/ghr/5.txt ghr3
cp:是否覆盖"ghr3/5.txt"? y
[root@192 home]# ls ghr
1  2  3  4  5.txt
[root@192 home]# ls ghr3
1  2  3  4  5.txt
[root@192 home]# 

cp -p :复制时保持源文件权限属主及时间

root@192 home]# ls -lh ghr
总用量 0
drwxr-xr-x. 2 root root 6 7月  29 17:17 1
drwxr-xr-x. 2 root root 6 7月  29 17:17 2
drwxr-xr-x. 2 root root 6 7月  29 17:17 3
drwxr-xr-x. 2 root root 6 7月  29 17:17 4
-rw-r--r--. 1 root root 0 7月  29 18:34 5.txt
[root@192 home]# cp -rf /home/ghr /hom/ghr3
cp: 无法创建目录"/hom/ghr3": 没有那个文件或目录
[root@192 home]# cp -rf /home/ghr /home/ghr3
[root@192 home]# ls -lh /home/ghr3/ghr
总用量 0
drwxr-xr-x. 2 root root 6 7月  29 18:44 1
drwxr-xr-x. 2 root root 6 7月  29 18:44 2
drwxr-xr-x. 2 root root 6 7月  29 18:44 3
drwxr-xr-x. 2 root root 6 7月  29 18:44 4
-rw-r--r--. 1 root root 0 7月  29 18:44 5.txt
[root@192 home]# cp -rp /home/ghr /home/ghr3
cp:是否覆盖"/home/ghr3/ghr/5.txt"? y
[root@192 home]# ls -lh /home/ghr3/ghr
总用量 0
drwxr-xr-x. 2 root root 6 7月  29 17:17 1
drwxr-xr-x. 2 root root 6 7月  29 17:17 2
drwxr-xr-x. 2 root root 6 7月  29 17:17 3
drwxr-xr-x. 2 root root 6 7月  29 17:17 4
-rw-r--r--. 1 root root 0 7月  29 18:34 5.txt
[root@192 home]# 

可知使用cp -rp 可以不改变属主和编辑时间的情况下复制

删除文件或目录 rm

rm -r  递归删除,删除目录时必须使用(因为通常联合使用所以就不单独做演示了)

rm -rf :删除不做提示

[root@192 home]# ls ghr3
1  2  3  4  5.txt  ghr
[root@192 home]# rm -rf ghr3
[root@192 home]# lsghr
bash: lsghr: 未找到命令...
[root@192 home]# ls ghr3
ls: 无法访问ghr3: 没有那个文件或目录
[root@192 home]# 

rm -ri :删除做提示

[root@192 home]# ls
5.txt  arlssaze  ghr  ghr1  ghr2
[root@192 home]# rm -ri 5.txt
rm:是否删除目录 "5.txt"?y
[root@192 home]# ls
arlssaze  ghr  ghr1  ghr2
[root@192 home]# 

移动文件夹或目录/改名 :mv

mv [文件名] [目录名或文件名]

mv ghr3 ghr1:更改名字

[root@192 home]# ls
arlssaze  ghr  ghr2  ghr3
[root@192 home]# mv ghr3 ghr1
[root@192 home]# ls
arlssaze  ghr  ghr1  ghr2
[root@192 home]# 

mv ghr/{1..10}.txt ghr1

[root@192 home]# mv ghr/{1..10}.txt ghr1
[root@192 home]# ls ghr1
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
[root@192 home]# 

查找命令/文件存放目录which

which 命令|程序名  或者

which  -a  命令|程序名

which ls

[root@192 home]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@192 home]# which -a ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@192 home]# 

查找文件或目录 : find

采用递归方式,根据目标名称、类型、大小等不同属性进行精细查找

find [查找范围] [查找条件表达式

find  / -name  :根据目标文件的名称进行查找,允许使用“*”“?”通配符

[root@192 home]# find / -name gh?
/var/spool/mail/ghr
/home/arlssaze/ghr
/home/ghr
[root@192 home]# 

find / -size  根据目标文件的大小查找,用+ -来指定大于或小于

[root@192 home]# find / -size 10M 
/boot/initrd-plymouth.img
find: ‘/proc/42852/task/42852/fd/6’: 没有那个文件或目录
find: ‘/proc/42852/task/42852/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/42852/fd/6’: 没有那个文件或目录
find: ‘/proc/42852/fdinfo/6’: 没有那个文件或目录
/run/media/root/CentOS 7 x86_64/Packages/evolution-3.22.6-10.el7.x86_64.rpm
/run/media/root/CentOS 7 x86_64/Packages/gnome-getting-started-docs-gl-3.22.0-1.el7.noarch
.rpm/run/media/root/CentOS 7 x86_64/Packages/gnome-icon-theme-3.12.0-1.el7.noarch.rpm
/run/media/root/CentOS 7 x86_64/Packages/java-1.8.0-openjdk-devel-1.8.0.131-11.b12.el7.x86
_64.rpm/run/media/root/CentOS 7 x86_64/Packages/java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.x
86_64.rpm/run/media/root/CentOS 7 x86_64/Packages/kde-workspace-4.11.19-8.el7.x86_64.rpm
/run/media/root/CentOS 7 x86_64/Packages/libpinyin-data-0.9.93-4.el7.x86_64.rpm
/run/media/root/CentOS 7 x86_64/Packages/libreoffice-langpack-zh-Hant-5.0.6.2-14.el7.x86_6
4.rpm/run/media/root/CentOS 7 x86_64/Packages/libreoffice-langpack-zh-Hans-5.0.6.2-14.el7.x86_6
4.rpm/run/media/root/CentOS 7 x86_64/Packages/libreoffice-langpack-dz-5.0.6.2-14.el7.x86_64.rpm
/run/media/root/CentOS 7 x86_64/Packages/PyQt4-devel-4.10.1-13.el7.x86_64.rpm
/run/media/root/CentOS 7 x86_64/Packages/scipy-0.12.1-3.el7.x86_64.rpm
/root/.mozilla/firefox/xr3ms21z.default/places.sqlite
/var/cache/yum/x86_64/7/updates/packages/kernel-headers-3.10.0-1160.36.2.el7.x86_64.rpm
/var/cache/yum/x86_64/7/updates/50758716c273e853416ba65b79048d0ff5e2c09f96f464b0277baa53a3
f4874f-primary.sqlite.bz2/usr/lib64/dri/kms_swrast_dri.so
/usr/lib64/dri/nouveau_dri.so
/usr/lib64/dri/r300_dri.so
/usr/lib64/dri/r600_dri.so
/usr/lib64/dri/radeonsi_dri.so
/usr/lib64/dri/swrast_dri.so
/usr/lib64/dri/virtio_gpu_dri.so
/usr/lib64/dri/vmwgfx_dri.so
/usr/lib64/firefox/omni.ja
[root@192 home]# 

 find -type 根据文件类型进行查找

普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)

[root@192 home]# find /home/ghr1 -type f
/home/ghr1/1.txt
/home/ghr1/2.txt
/home/ghr1/3.txt
/home/ghr1/4.txt
/home/ghr1/5.txt
/home/ghr1/6.txt
/home/ghr1/7.txt
/home/ghr1/8.txt
/home/ghr1/9.txt
/home/ghr1/10.txt
[root@192 home]# find /home/ghr1 -type d
/home/ghr1
[root@192 home]# find /home/ghr1 -type b
[root@192 home]# find /home/ghr1 -type c
[root@192 home]# 

find  / -user :根据文件是否属于目标用户查找

[root@192 home]# find / -user arlssaze
find: ‘/proc/43288/task/43288/fd/6’: 没有那个文件或目录
find: ‘/proc/43288/task/43288/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/43288/fd/6’: 没有那个文件或目录
find: ‘/proc/43288/fdinfo/6’: 没有那个文件或目录
/var/spool/mail/arlssaze
/tmp/.esd-1000
/tmp/.esd-1000/socket
/tmp/tracker-extract-files.1000
/home/arlssaze
/home/arlssaze/.mozilla
/home/arlssaze/.mozilla/extensions
/home/arlssaze/.mozilla/plugins
/home/arlssaze/.bash_logout
/home/arlssaze/.bash_profile
/home/arlssaze/.bashrc
/home/arlssaze/.cache
/home/arlssaze/.cache/gdm
/home/arlssaze/.cache/gdm/session.log.old
/home/arlssaze/.cache/gdm/session.log
/home/arlssaze/.cache/imsettings
/home/arlssaze/.cache/imsettings/log.bak
/home/arlssaze/.cache/imsettings/log
/home/arlssaze/.cache/evolution
/home/arlssaze/.cache/evolution/addressbook
/home/arlssaze/.cache/evolution/addressbook/trash
/home/arlssaze/.cache/evolution/calendar
/home/arlssaze/.cache/evolution/calendar/trash
/home/arlssaze/.cache/evolution/mail
/home/arlssaze/.cache/evolution/mail/trash
/home/arlssaze/.cache/evolution/memos
/home/arlssaze/.cache/evolution/memos/trash
/home/arlssaze/.cache/evolution/sources
/home/arlssaze/.cache/evolution/sources/trash
/home/arlssaze/.cache/evolution/tasks
/home/arlssaze/.cache/evolution/tasks/trash
/home/arlssaze/.cache/gnome-shell
/home/arlssaze/.cache/gnome-shell/update-check-3.22
/home/arlssaze/.cache/event-sound-cache.tdb.localhost.localdomain.x86_64-redhat-linux-gnu
/home/arlssaze/.cache/tracker
/home/arlssaze/.cache/tracker/db-version.txt
/home/arlssaze/.cache/tracker/meta.db
/home/arlssaze/.cache/tracker/db-locale.txt
/home/arlssaze/.cache/tracker/meta.db-wal
/home/arlssaze/.cache/tracker/meta.db-shm
/home/arlssaze/.cache/tracker/ontologies.gvdb
/home/arlssaze/.cache/tracker/parser-sha1.txt
/home/arlssaze/.cache/tracker/locale-for-miner-user-guides.txt
/home/arlssaze/.cache/tracker/locale-for-miner-apps.txt
/home/arlssaze/.cache/tracker/last-crawl.txt
/home/arlssaze/.cache/tracker/first-index.txt
/home/arlssaze/.cache/abrt
/home/arlssaze/.cache/abrt/applet_dirlist
/home/arlssaze/.cache/abrt/lastnotification
/home/arlssaze/.cache/gstreamer-1.0
/home/arlssaze/.cache/gstreamer-1.0/registry.x86_64.bin
/home/arlssaze/.cache/media-art
/home/arlssaze/.cache/gnome-software
/home/arlssaze/.cache/gnome-software/3.22
/home/arlssaze/.cache/gnome-software/3.22/ratings
/home/arlssaze/.cache/gnome-software/3.22/extensions
/home/arlssaze/.cache/gnome-software/3.22/flatpak
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/config
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/objects
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/tmp
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/tmp/cache
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/extensions
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/state
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/refs
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/refs/heads
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/repo/refs/remotes
/home/arlssaze/.cache/gnome-software/3.22/flatpak/installation-tmp/.changed
/home/arlssaze/.cache/yelp
/home/arlssaze/.cache/yelp/WebKitCache
/home/arlssaze/.cache/yelp/WebKitCache/Version 10
/home/arlssaze/.cache/yelp/WebKitCache/Version 10/Blobs
/home/arlssaze/.config
/home/arlssaze/.config/imsettings
/home/arlssaze/.config/user-dirs.dirs
/home/arlssaze/.config/user-dirs.locale
/home/arlssaze/.config/gnome-session
/home/arlssaze/.config/gnome-session/saved-session
/home/arlssaze/.config/pulse
/home/arlssaze/.config/pulse/a60422994d744a1d9632b3cc3d221497-device-volumes.tdb
/home/arlssaze/.config/pulse/a60422994d744a1d9632b3cc3d221497-stream-volumes.tdb
/home/arlssaze/.config/pulse/a60422994d744a1d9632b3cc3d221497-card-database.tdb
/home/arlssaze/.config/pulse/cookie
/home/arlssaze/.config/pulse/a60422994d744a1d9632b3cc3d221497-default-sink
/home/arlssaze/.config/pulse/a60422994d744a1d9632b3cc3d221497-default-source
/home/arlssaze/.config/ibus
/home/arlssaze/.config/ibus/bus
/home/arlssaze/.config/ibus/bus/a60422994d744a1d9632b3cc3d221497-unix-0
/home/arlssaze/.config/dconf
/home/arlssaze/.config/dconf/user
/home/arlssaze/.config/evolution
/home/arlssaze/.config/evolution/sources
/home/arlssaze/.config/evolution/sources/system-proxy.source
/home/arlssaze/.config/goa-1.0
/home/arlssaze/.config/gconf
/home/arlssaze/.config/gtk-3.0
/home/arlssaze/.config/gtk-3.0/bookmarks
/home/arlssaze/.config/nautilus
/home/arlssaze/.config/nautilus/desktop-metadata
/home/arlssaze/.config/abrt
/home/arlssaze/.config/gnome-initial-setup-done
/home/arlssaze/.config/yelp
/home/arlssaze/.config/yelp/yelp.cfg
/home/arlssaze/桌面
/home/arlssaze/下载
/home/arlssaze/模板
/home/arlssaze/公共
/home/arlssaze/文档
/home/arlssaze/音乐
/home/arlssaze/图片
/home/arlssaze/视频
/home/arlssaze/.ICEauthority
/home/arlssaze/.local
/home/arlssaze/.local/share
/home/arlssaze/.local/share/keyrings
/home/arlssaze/.local/share/keyrings/login.keyring
/home/arlssaze/.local/share/keyrings/user.keystore
/home/arlssaze/.local/share/gnome-shell
/home/arlssaze/.local/share/gnome-shell/application_state
/home/arlssaze/.local/share/telepathy
/home/arlssaze/.local/share/telepathy/mission-control
/home/arlssaze/.local/share/telepathy/mission-control/accounts.cfg
/home/arlssaze/.local/share/telepathy/mission-control/accounts-goa.cfg
/home/arlssaze/.local/share/evolution
/home/arlssaze/.local/share/evolution/addressbook
/home/arlssaze/.local/share/evolution/addressbook/trash
/home/arlssaze/.local/share/evolution/addressbook/system
/home/arlssaze/.local/share/evolution/addressbook/system/contacts.db
/home/arlssaze/.local/share/evolution/addressbook/system/photos
/home/arlssaze/.local/share/evolution/calendar
/home/arlssaze/.local/share/evolution/calendar/trash
/home/arlssaze/.local/share/evolution/calendar/system
/home/arlssaze/.local/share/evolution/calendar/system/calendar.ics
/home/arlssaze/.local/share/evolution/mail
/home/arlssaze/.local/share/evolution/mail/trash
/home/arlssaze/.local/share/evolution/memos
/home/arlssaze/.local/share/evolution/memos/trash
/home/arlssaze/.local/share/evolution/tasks
/home/arlssaze/.local/share/evolution/tasks/trash
/home/arlssaze/.local/share/gsettings-data-convert
/home/arlssaze/.local/share/applications
/home/arlssaze/.local/share/sounds
/home/arlssaze/.local/share/icc
/home/arlssaze/.local/share/gnome-settings-daemon
/home/arlssaze/.local/share/gnome-settings-daemon/input-sources-converted
/home/arlssaze/.local/share/tracker
/home/arlssaze/.local/share/tracker/data
/home/arlssaze/.local/share/tracker/data/tracker-store.journal
/home/arlssaze/.local/share/tracker/data/tracker-store.ontology.journal
/home/arlssaze/.local/share/nautilus
/home/arlssaze/.local/share/nautilus/scripts
/home/arlssaze/.local/share/flatpak
/home/arlssaze/.local/share/flatpak/system-cache
/home/arlssaze/.local/share/flatpak/repo
/home/arlssaze/.local/share/flatpak/repo/config
/home/arlssaze/.local/share/flatpak/repo/objects
/home/arlssaze/.local/share/flatpak/repo/tmp
/home/arlssaze/.local/share/flatpak/repo/tmp/cache
/home/arlssaze/.local/share/flatpak/repo/extensions
/home/arlssaze/.local/share/flatpak/repo/state
/home/arlssaze/.local/share/flatpak/repo/refs
/home/arlssaze/.local/share/flatpak/repo/refs/heads
/home/arlssaze/.local/share/flatpak/repo/refs/remotes
/home/arlssaze/.local/share/flatpak/.changed
/home/arlssaze/.local/share/gvfs-metadata
/home/arlssaze/.local/share/gvfs-metadata/home
/home/arlssaze/.local/share/gvfs-metadata/home-55881348.log
/home/arlssaze/.local/share/webkitgtk
/home/arlssaze/.local/share/webkitgtk/localstorage
/home/arlssaze/.esd_auth
/home/arlssaze/.bash_history
/home/arlssaze/.swp
/home/arlssaze/.viminfo
[root@192 home]# 

[root@192 home]# find /home/ -type d -a -name "ghr?"

查找同时满足文件种类是目录和名字是ghr?的目录

[root@192 home]# find /home/ -type d -o -name "ghr1"

查找是目录文件和名字叫ghr1的文件的集合

[root@192 home]# find /home/ -type d -a -name "ghr?"
/home/ghr1
/home/ghr2
/home/ghr3
/home/ghr4
/home/ghr5
[root@192 home]# find /home/ -type d -a -name "ghr1"
/home/ghr1
[root@192 home]# find /home/ -type d -o -name "ghr1"
/home/
/home/ghr1
/home/ghr2
/home/ghr3
/home/ghr4
/home/ghr5
[root@192 home]# 

查看文件内容 :cat 

cat  [选项]  文件名

[root@192 ghr]# echo "11111" > 1.txt
[root@192 ghr]# cat 1.txt
11111
[root@192 ghr]# 

查看文件内容:more

全屏方式分页显示文件内容

more    [选项]  文件名

查看文件内容 :less 

与more命令相同但是拓展功能多

less [选项]  文件名

Page up 向上翻页

Page down 向下翻页

按 “\”查找内容

“n”下一个内容

“N”上一个内容

查看文件内容head、tail 命令

head -5 /etc/passwd :查看etc下passwd文件的前五行

[root@192 home]# head -5 /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

tail -5 /etc/passwd  :查看etc下passwd文件的后五行

[root@192 home]# tail -5 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
arlssaze:x:1000:1000:Arlssaze:/home/arlssaze:/bin/bash
ghr:x:1001:1001::/home/ghr:/bin/bash

tail -f 文件名 追踪 (不断刷新)

统计文件内容wc命令(world count)

wc  [选项]  目标文件

wc -l /etc/passwd :统计文件行

[root@192 home]# wc -l /etc/passwd
42 /etc/passwd

 wc -w /etc/passwd:统计文件单词数

[root@192 home]# wc -w /etc/passwd
82 /etc/passwd


wc -c /etc/passwd :统计字节数

[root@192 home]# wc -c /etc/passwd
2153 /etc/passwd

检索和过滤文件内容grep

在文件中查找并显示包含指定字符串的行

grep [选项]  查找文件 目标文件

grep -i “^arl” /etc/passwd:忽略大小写查找arl
  

[root@192 ~]# grep -i "^arl" /etc/passwd
arlssaze:x:1000:1000:Arlssaze:/home/arlssaze:/bin/bash
[root@192 ~]# 

grep -v "^$" /etc/passwd :查找不空行的文件

[root@192 ~]# grep -v "^$" /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
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:997:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:995:993::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:994:990::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbi
n/nologinusbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:993:988:User for geoclue:/var/lib/geoclue:/sbin/nologin
sssd:x:992:987:User for sssd:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
arlssaze:x:1000:1000:Arlssaze:/home/arlssaze:/bin/bash
ghr:x:1001:1001::/home/ghr:/bin/bash

压缩命令:gzip 、bzip

gzip -9 passwd  :压缩子目录下的文件

[root@192 home]# gzip -9 passwd
[root@192 home]# ls
arlssaze  passwd.gz
[root@192 home]# 

gzip -d passwd.gz:解压缩.gz格式的压缩文件

[root@192 home]# gzip -d passwd.gz
[root@192 home]# ls
arlssaze  passwd
[root@192 home]# 

bzip2 -9 passwd :压缩子目录下的文件

[root@192 home]# bzip2 -9 passwd
[root@192 home]# ls
arlssaze  passwd.bz2
[root@192 home]# 

bzip2 -d passwd.bz2

[root@192 home]# bzip2 -d passwd.bz2
[root@192 home]# ls
arlssaze  passwd
[root@192 home]# 

归档命令:tar

tar [选项] 归档文件名 源文件或目录

因为这里的参数混合使用所以单独做说明

-c:创建.tar的格式文件

-x :解开.tar格式的文件

-v :输出详细的信息

-f:表示使用归档文件

-p :打包时保留文件及目录权限

-P : 打包时保留文件及目录的绝对路径

-t:列表内查看包内文件

-C:解压时指定目标文件

-z:调用gzip程序进行压缩和解压

-J:调用bzip程序进行压缩和解压缩

[root@192 home]# tar cvfz passwd.tar.gz passwd
passwd
[root@192 home]# ls
arlssaze  ghr  passwd  passwd.tar.gz
[root@192 home]# tar xvfz passwd.tar.gz -C /home/ghr
passwd
[root@192 home]# ls /home/ghr
passwd

[root@192 /]# tar cvfj opt.tar.bz2 opt
opt/
opt/rh/
opt/3/
opt/3/a
opt/3/b
[root@192 /]# ls
aa   boot  etc   home  lib64  mnt  opt.tar.bz2  root  sbin  sys       tmp  var
bin  dev   help  lib   media  opt  proc         run   srv   text.txt  usr
[root@192 /]# tar xvfj opt.tar.bz2 -C /home/ghr
opt/
opt/rh/
opt/3/
opt/3/a
opt/3/b
[root@192 /]# ls /home/ghr
opt  passwd
[root@192 /]# 


总结

作为一名云计算工程师。我们对命令的熟悉程度能显著的代表了我们业务的实际水平。不论我们最终参与了什么项目或者想要达成什么目的,我们都应该牢牢的掌握在这些命令来满足我们业务的需求。也只有理解这些命令之后,我们最简洁的向上级表达出我们是如何完成需求的,也能在出现故障的时候让我们很快的理清思路,按照自己的逻辑去排查故障。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值