linux基础命令2

it2022-05-05  152

1.alias   设置和查看别名   例子1:查看别名

    [root@kuying3 ~]# 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’   例子2:设置别名

    [root@kuying3 ~]# alias kuying=”ls -l”‘     [root@kuying3 ~]# kuying     total 10852     -rw——-. 1 root root 1246 Apr 4 06:53 anaconda-ks.cfg     -rw-r–r– 1 root root 11101732 Jan 25 14:51 apache-tomcat-9.0.14.zip     -rw-r–r– 1 root root 78 Jul 8 11:37 hello_w.sh     drwxr-x— 2 root root 24 Jul 8 11:10 logs     -rw-r–r– 1 root root 0 Jun 18 19:18 test

2. unalias   删除别名     [root@kuying3 ~]# unalias rm     注意:以后在接手一台服务器的时候要看一下已经设置了哪些别名!

3.uname   查看主机信息   -a 显示所有的信息   -r 显示内核版本号

  例子1:查看主机信息     [root@kuying3 ~]# uname -a     Linux kuying3 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux   例子2:查看内核版本号     [root@kuying3 ~]# uname -r     3.10.0-862.el7.x86_64

4. hostname   查看和设置主机名     例子1:查看主机名     [root@kuying3 ~]# hostname     kuying3

  例子2:设置主机名     [root@kuying3 ~]# hostname kuying     注意:hostname修改的主机名是立即生效但是重启系统就失效了     如果不想开机失效的话可以写入到配置文件/etc/hostname

    [root@kuying ~]# echo “kuying” > /etc/hostname     [root@kuying ~]# cat /etc/hostname     kuying

5.hostnamectl     设置主机名     设置的主机名立即生效而且重启系统依然有效     例子1:设置主机名立即且永久有效     [root@kuying ~]# hostnamectl set-hostname kuying1

6. history  显示执行过的命令     [root@kuying1 ~]# history   特殊用法:     [root@kuying1 ~]# !c #c可以为任意字母

7.which   显示命令的完整路径   命令都是一个可以执行的文件     [root@kuying1 ~]# which ls     /usr/bin/ls     [root@kuying1 ~]# ls -l /usr/bin/ls     -rwxr-xr-x. 1 root root 117672 Apr 11 2018 /usr/bin/l   可以查看命令依赖于那个程序!

8.wc   统计文本信息   -l 统计行数   -w 单词数   -c 统计字符   例子1:统计当前系统中有多少用户     [root@kuying1 ~]# wc -l /etc/passwd     20 /etc/passwd   例子2:统计单词数     [root@kuying1 ~]# echo “this is kuying” | wc -w     3   例子3:统计字符     [root@kuying1 ~]# echo “this is kuying” | wc -c     12     [root@kuying1 ~]# printf “this is kuying” | wc -c     11

9. w   显示当前登录的用户在做什么     [root@kuying1 ~]# w     23:08:37 up 9 min, 3 users, load average: 0.00, 0.01, 0.01     USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT     root pts/0 192.168.163.1 22:59 5.00s 0.36s 0.01s w     root pts/1 192.168.163.1 23:08 6.00s 0.01s 0.01s -bash     root pts/2 192.168.163.1 23:08 1.00s 0.00s 0.00s -bash  主要关注:     登录用户     登录IP

10. who   显示当前登录的用户     [root@kuying1 ~]# who     root tty1 2019-07-09 23:11     root pts/0 2019-07-09 23:12 (192.168.163.1)     root pts/1 2019-07-09 23:08 (192.168.163.1)     root pts/2 2019-07-09 23:08 (192.168.163.1)

11.whoami   显示当前登录的用户     [root@kuying1 ~]# whoami     root

12. ping   测试主机是否在线     -c 发送包的数量     -i 发送包的间隔数     -w 超时等待时间   例子1:测试本机是否可以通外网     [root@kuying245 ~]# ping baidu.com     PING baidu.com (123.125.114.144) 56(84) bytes of data.     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=52 time=33.1 ms     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=52 time=33.1 ms     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=52 time=33.1 ms   例子2:发送两个包     [root@kuying245 ~]# ping -c 2 baidu.com     PING baidu.com (123.125.114.144) 56(84) bytes of data.     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=52 time=33.1 ms     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=52 time=33.1 ms

    — baidu.com ping statistics —     2 packets transmitted, 2 received, 0% packet loss, time 1001ms     rtt min/avg/max/mdev = 33.145/33.148/33.151/0.003 ms   例子3:指定发送包的间隔时间为3秒钟     [root@kuying245 ~]# ping -c 3 -i 5 baidu.com     PING baidu.com (123.125.114.144) 56(84) bytes of data.     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=52 time=33.1 ms     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=52 time=33.1 ms     64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=52 time=33.1 ms

    — baidu.com ping statistics —     3 packets transmitted, 3 received, 0% packet loss, time 10010ms     rtt min/avg/max/mdev = 33.127/33.134/33.145/0.007 ms   例子4:指定超时等待时间     [root@kuying245 ~]# ping -w 1 google.com     PING google.com (172.217.24.14) 56(84) bytes of data.

    — google.com ping statistics —     2 packets transmitted, 0 received, 100% packet loss, time 999ms

13.kill   终止进程     -9 强制终止进程     -15 默认是-15 不是立即退出。完成自己的工作后退出!   格式:     kill -9 pid   例子1:关掉进程     kill -9 1818

14.du   查看文件和目录的大小     -h 人类易读的方式显示文件大小     -s 目录的总大小   注意:     du查看的是文件占用的block块大小     ls -lh才是文件的实际大小

  例子1:     [root@kuying1 ~]# du -h anaconda-ks.cfg     4.0K anaconda-ks.cfg

    [root@kuying1 ~]# ls -lh anaconda-ks.cfg     -rw——-. 1 root root 1.3K Apr 4 06:53 anaconda-ks.cfg   例子2:查看目录总大小     [root@kuying1 ~]# du -sh /etc     31M /etc

15.df  显示查看磁盘的大小及挂载点    -h 人类易读的方式显示文件大小   例子1:     [root@kuying1 ~]# df -h     Filesystem Size Used Avail Use% Mounted on     /dev/mapper/centos-root 17G 1.3G 16G 8% /     devtmpfs 224M 0 224M 0% /dev     tmpfs 236M 0 236M 0% /dev/shm     tmpfs 236M 5.6M 230M 3% /run     tmpfs 236M 0 236M 0% /sys/fs/cgroup     /dev/sda1 1014M 130M 885M 13% /boot     /dev/sr0 4.2G 4.2G 0 100% /mnt     tmpfs 48M 0 48M 0% /run/user/0

16.free   显示内存信息     -h 人类易读的方式     -m 以M单位显示   例子1:     [root@kuying1 ~]# free -h     total used free shared buff/cache available     Mem: 470M 83M 255M 5.5M 131M 341M     Swap: 2.0G 0B 2.0G

17.date  显示和设置系统时间  例子1:查看时间     [root@kuying1 ~]# date     Tue Jul 9 23:54:29 CST 2019   例子2:设置时间     [root@kuying1 ~]# date -s “2019-7-9 15:54:00”     Tue Jul 9 15:54:00 CST 2019     [root@kuying1 ~]# date     Tue Jul 9 15:54:01 CST 2019

  例子3:格式化输出时间     %Y 年     %m 月     %d 天     %H 小时     %M 分钟     %S 秒

    [root@kuying1 ~]# date “+%Y/%m/%d %H:%M:%S”     2019/07/09 15:55:55   例子4:     %F 年月日     %T 时分秒     [root@kuying1 ~]# date “+%F %T”     2019-07-09 15:57:23

 

绝对路径vs相对路径   在Linux系统中另外还有一个重要的概念—路径。   路径指的是如何定位到某个文件,分为绝对路径与相对路径。   绝对路径指的是从根目录(/)开始写起的文件或目录名称   相对路径则指的是相对于当前路径的写法。

输出重定向   >:覆盖输出,会覆盖掉原先的文件内容   >>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加   2>:错误输出,会覆盖掉原先的文件内容   2>>:错误追加输出,会覆盖掉原始文件内容,会在原始内容末尾继续添加   &>:将标准输出与错误输出共同写入到文件中。覆盖原有内容   &>>:将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

  例子1:覆盖输出     [root@kuying1 ~]# echo “222” > test     [root@kuying1 ~]# cat test     222   例子2:追加输出     [root@kuying1 ~]# echo “222” >> test     [root@kuying1 ~]# echo “222” >> test     [root@kuying1 ~]# echo “222” >> test     [root@kuying1 ~]# echo “222” >> test     [root@kuying1 ~]# cat test     222     222     222     222   例子3:错误覆盖     [root@kuying1 ~]# kuying 2> test     [root@kuying1 ~]# kuying 2> test     [root@kuying1 ~]# kuying 2> test     [root@kuying1 ~]# kuying 2> test     [root@kuying1 ~]# kuying 2> test     [root@kuying1 ~]# cat test     -bash: kuying: command not found   例子4:错误追加     [root@kuying1 ~]# kuying 2>> test     [root@kuying1 ~]# kuying 2>> test     [root@kuying1 ~]# kuying 2>> test     [root@kuying1 ~]# kuying 2>> test     [root@kuying1 ~]# kuying 2>> test     [root@kuying1 ~]# cat test     -bash: kuying: command not found     -bash: kuying: command not found     -bash: kuying: command not found     -bash: kuying: command not found     -bash: kuying: command not found     -bash: kuying: command not found

    总结:只要是一个>都是覆盖,     只要是两个>>都是追加,无论是正确还是错误输出   例子5:无论是错误的还是正确的都输出倒文件中     [root@kuying1 ~]# ls &>> test     [root@kuying1 ~]# cat test     2     anaconda-ks.cfg     test     test2     -bash: kuying: command not found     2     anaconda-ks.cfg     test     test2输入重定向   <     [root@kuying1 ~]# wc -l < /etc/passwd     23

管道符     管道命令符(|)的作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。     一条命令中管道符可以使用多个,只要前面的命令有输出结果,管道符后面的命令即可再执行!

  例子1:     [root@kuying1 ~]# cat /etc/passwd | wc -l     23   例子2:     [root@kuying245 ~]# cat /var/log/nginx/access.log | awk ‘{print $1}’ | sort | uniq -c | sort -rn | head -3     501 61.148.243.143     118 114.242.248.85     110 122.71.224.158

通配符     * 表示匹配的任意内容,可以是0个也可以是很多个字符     ? 表示匹配单个字符,必须存在     [] 表示匹配括号里面的任意一个字符   例子1:找到所有以/dev/sda开头的文件     [root@kuying1 ~]# ls /dev/sda*     /dev/sda /dev/sda1 /dev/sda2 /dev/sdakuying   例子2:找到以/dev/sda开头并且后面跟一个字符的文件     [root@kuying1 ~]# ls /dev/sda?     /dev/sda1 /dev/sda2   例子3:找到以/dev/sda开头并且后面跟一个数字的文件     [root@kuying1 ~]# ls /dev/sda[0-9]     /dev/sda1 /dev/sda2   例子4:找到以/dev/sda开头并且后面跟一个字母的文件     [root@kuying1 ~]# ls /dev/sda[a-z]     /dev/sdan  例子5.     [root@kuying1 ~]# ls /dev/sda*     /dev/sda /dev/sda1 /dev/sda2 /dev/sdakuying /dev/sdan     [root@kuying1 ~]# ls /dev/sda[kuying]     /dev/sdan   注意:不要把中括号里面的字符当做一个整体,二是匹配中括号里面的单个字符   例子6:删除当前目录中所有以test开头的文件     [root@kuying1 ~]# ls     2 anaconda-ks.cfg test test1 test2     [root@kuying1 ~]# rm -rf test*     [root@kuying1 ~]# ls     2 anaconda-ks.cfg

转载于:https://www.cnblogs.com/biht/p/11171564.html


最新回复(0)