head
#显示文件的头部信息,默认显示文件的前十行内容
选项
-n #取消默认输出
-c #显示文件的最前面的字符
[root@dzy ~]# head /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
[root@dzy ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@dzy ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@dzy ~]# head -c 5 /etc/passwd
root:[root@dzy ~]#
tail
#显示文件的尾部信息,默认显示文件的最后10行
选项
-n #取消默认输出
-c #显示文件的最后面的字符
-f #实时显示文件的尾部变化信息
-F #实时更新文件内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在
[root@dzy ~]# tail /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/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
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
saslauth:x:998:76:Saslauthd user:/run/saslauthd:/sbin/nologin
ldap:x:55:55:OpenLDAP server:/var/lib/ldap:/sbin/nologin
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -n 1 /etc/passwd
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -1 /etc/passwd
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
[root@dzy ~]# tail -c5 /etc/passwd #显示最后5个字符,只能看见4个,另外一个是换行符
ogin
[root@dzy ~]# cat passwd
hello
hello
[root@dzy ~]# echo 123456789 >> passwd #另一个bash里追加进去
[root@dzy ~]# tail -f passwd
hello
hello
123456789
tailf
#实时更新文件的内容
tailf ==== tail -f
当文件内容没有发生变化时,tailf不会去读取磁盘中的信息,tailf -f 当文件内容没有发生变化时,会一直向磁盘进行读取。
选项
-n #取消默认输出
locate
#根据本地的数据库进行查找文件,不会查找到最新的文件
[root@dzy ~]# yum install -y mlocate
选项
-i #不区分大小写
-r #简单使用正则表达式
[root@dzy ~]# locate passwd
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[root@dzy ~]# updatedb
#把系统中所有文件名称包含passwd的文件全部查找出来
[root@dzy ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
。。。等等
[root@dzy ~]# locate -r passwd$
/etc/passwd
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
/usr/bin/htpasswd
/usr/bin/ldappasswd
/usr/bin/passwd
/usr/sbin/chpasswd
/usr/sbin/lpasswd
/usr/sbin/slappasswd
/usr/share/bash-completion/completions/chpasswd
/usr/share/bash-completion/completions/passwd
[root@dzy ~]# locate hostnamectl
/usr/bin/hostnamectl
/usr/share/bash-completion/completions/hostnamectl
/usr/share/man/man1/hostnamectl.1.gz
/usr/share/zsh/site-functions/_hostnamectl
[root@dzy ~]# touch hostnamectl
[root@dzy ~]# updatedb
[root@dzy ~]# locate hostnamectl
/root/hostnamectl
/usr/bin/hostnamectl
/usr/share/bash-completion/completions/hostnamectl
/usr/share/man/man1/hostnamectl.1.gz
/usr/share/zsh/site-functions/_hostnamectl
which
#查找命令的绝对路径
[root@dzy ~]# which ping
/usr/bin/ping
#查找命令的绝对路径,是通过PATH环境变量中的路径进行查找
[root@dzy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#不使用which的别名进行查找命令的绝对路径
[root@dzy ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@dzy ~]# \which cp
/usr/bin/cp
[root@dzy ~]# rpm -qf `which ping`
iputils-20160308-10.el7.x86_64
whereis
#查找系统二进制程序,man帮助文件,源代码文件 查找不到自己创建的文件
选项
-b #只查找二进制程序文件
-m #查找man帮助文件
-s #查找源代码文件
[root@dzy ~]# whereis ping
ping: /usr/bin/ping /usr/share/man/man8/ping.8.gz
[root@dzy ~]# whereis -b ping
ping: /usr/bin/ping
[root@dzy ~]# whereis -m ping
ping: /usr/share/man/man8/ping.8.gz
[root@dzy ~]# whereis -s ping
ping:[root@dzy ~]#
type
#显示命令的类型
选项
-a #显示内置命令的绝对路径
-p #只显示命令的绝对路径
help命令可以显示系统中所有的内置命令
ping:[root@dzy ~]# type ping
ping is /usr/bin/ping
[root@dzy ~]# type -p ping
/usr/bin/ping
[root@dzy ~]# type cd
cd is a shell builtin
[root@dzy ~]# type -a cd
cd is a shell builtin
cd is /usr/bin/cd
[root@dzy ~]# type -ap cd
/usr/bin/cd
find
#查找和搜索文件
选项
-type #根据文件类型进行查找
f #普通文件
d #目录
l #软连接文件
s #socket文件 套接字文件
p #管道文件
-name #根据名称进行查找
-iname #查找的时候忽略大小写
语法
选项,条件 干什么
命令 地区 类型 名称 动作 默认动作就是打印
#在/etc目录下进行查找 查找类型为普通文件 名称为 hostname 精确查找
[root@dzy ~]# find / -type f -name "hostname"
/proc/sys/kernel/hostname
/etc/hostname
/usr/bin/hostname
/usr/lib64/gettext/hostname
[root@dzy ~]# touch /opt/hostname{,ctl}
[root@dzy ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
[root@dzy ~]# touch /opt/test_hostname
[root@dzy ~]# touch /opt/test_hostname.txt
[root@dzy ~]# ll /opt/
total 0
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
-rw-r--r--. 1 root root 0 Jul 10 10:32 test_hostname
-rw-r--r--. 1 root root 0 Jul 10 10:33 test_hostname.txt
[root@dzy ~]# find /opt/ -type f -name "hostname"
/opt/hostname
#查找以hostname开头的文件
[root@dzy ~]# find /opt/ -name "hostname*"
/opt/hostname
/opt/hostnamectl
#查找以hostname为结尾的文件
[root@dzy ~]# find /opt/ -name "*hostname"
/opt/hostname
/opt/test_hostname
#查找文件名称包含hostname的文件
[root@dzy ~]# find /opt/ -name "*hostname*"
/opt/hostname
/opt/hostnamectl
/opt/test_hostname
/opt/test_hostname.txt
#查找所有文件,包括隐藏文件
[root@dzy ~]# touch /opt/.hostname.log
[root@dzy ~]# find /opt/ -name "*hostname*"
/opt/hostname
/opt/hostnamectl
/opt/test_hostname
/opt/test_hostname.txt
/opt/.hostname.log
[root@dzy ~]# find /opt/ -type d -iname "*hostname*"
/opt/HOSTNAMECTL
rz
#将本地的文件上传到linux操作系统
#不能上传目录,需要将目录打成一个压缩包进行上传 只能上传4G以下的文件
[root@dzy ~]# yum install -y lrzsz
选项
-E #当上传的文件已经存在时,系统会进行重命名 会在原来的文件名称后面加上.数字 从0开始
#执行命令,会跳出一个Windows界面的窗口,选择你要上传的文件
[root@dzy ~]# rz
sz
#将linux系统的文件下载到本地
[root@dzy ~]# sz
wget
#联网下载软件包
[root@dzy ~]# yum install -y wget
选项
-O #指定下载的路径和名称
-q #静默输出
--limit-rate=10k #限制下载的速率
[root@dzy ~]# wget http://www.baidu.com
--2020-07-10 11:57:50-- http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 112.80.248.75, 112.80.248.76
Connecting to www.baidu.com (www.baidu.com)|112.80.248.75|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html’
100%[===============================================================================>] 2,381 --.-K/s in 0.008s
2020-07-10 11:57:51 (290 KB/s) - ‘index.html’ saved [2381/2381]
[root@dzy ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:00:16-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 95.211.80.227, 62.210.92.35, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
100%[===============================================================================>] 1,039,530 282KB/s in 3.6s
2020-07-10 12:00:20 (282 KB/s) - ‘nginx-1.18.0.tar.gz’ saved [1039530/1039530]
[root@dzy ~]# ll
total 1020
-rw-r--r--. 1 root root 2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
[root@dzy ~]# wget -O /opt/nginx.tar.gz http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:01:41-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘/opt/nginx.tar.gz’
100%[===============================================================================>] 1,039,530 272KB/s in 3.7s
2020-07-10 12:01:46 (272 KB/s) - ‘/opt/nginx.tar.gz’ saved [1039530/1039530]
[root@dzy ~]# ll /opt/
total 1016
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
drwxr-xr-x. 2 root root 6 Jul 10 10:39 HOSTNAMECTL
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx.tar.gz
[root@dzy ~]# wget -q http://nginx.org/download/nginx-1.19.1.tar.gz
[root@dzy ~]# ll
total 2100
-rw-r--r--. 1 root root 41240 Mar 23 00:20 032220_1620_Zabbix1.png
-rw-r--r--. 1 root root 9810 Jul 8 00:06 download.html
-rw-r--r--. 1 root root 2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
-rw-r--r--. 1 root root 1047223 Jul 7 23:59 nginx-1.19.1.tar.gz
[root@dzy ~]# wget --limit-rate=10k http://nginx.org/download/nginx-1.18.0.tar.gz ^C
[root@dzy ~]# rm -rf ./*
[root@dzy ~]# wget --limit-rate=10k http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:11:13-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
32% [========================> ] 335,872 10.0KB/s eta 70s
curl
#通过url规则进行文件传输工具
#测试网站使用的命令
选项
-o #将访问的数据内容写入到指定的文件中
-s #静默输出
[root@dzy ~]# curl -o ./baidu.html www.baidu.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2381 100 2381 0 0 311 0 0:00:07 0:00:07 --:--:-- 657
[root@dzy ~]# ll
total 1356
-rw-r--r--. 1 root root 2381 Jul 10 12:15 baidu.html
[root@dzy ~]# curl -s -o ./nginx.tar.gz http://nginx.org/download/nginx-1.18.0.tar.gz