shell常用命令

  • dig fex.baidu.com +trace DNS查询fex.baidu.com过程
  • 查看当前打开的所有文件(list open files) lsof -i tcp:8080
  • Pbcopy < 文件名 将文件复制到剪切板
  • 两个连续的连字符(–)作为「选项结束的标志」,ls -lrt – -bar 实际上 ls 内部使用了 getopts 解析参数;利用两个连续的连字符 –,显式地告诉 getopts:到这为止!然后,ls 会读入 -bar 作为文件名,显示它的相关信息。
  • Ulimit -a 查看目前资源限制的设定
  • uname -a (Linux查看版本当前操作系统内核信息)
  • cat /proc/version (Linux查看当前操作系统版本信息)
  • cat /proc/cpuinfo lscpu 查看cpu相关信息
  • basename /a/b/c => c
  • dirname /a/b/bc => /a/b
  • grep [选项] “搜索内容” 文件名
  • find 路径 参数 [-print -exec -ok ..]
  • du 看当前指定文件或目录(会递归显示子目录)占用磁盘空间大小
  • df 获取硬盘被占用了多少空间,目前还剩下多少空间等信息
  • file file [OPTIONS…] [FILE…] 查看文件类型
  • alias alias_name=’origin_command’ 设置别名,alias可以查看所有别名;_是sudo的别名;
  • unalias -a 删除所有已设置的别名
  • unalias alias_name 仅删除alias_name的别名
  • wc [选项] [文件名] 统计指定文件中的字节数、字数、行数
      -c 统计字节数
      -l 统计行数
      -m 统计字符数。这个标志不能与 -c 标志一起使用
      -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
      -L 打印最长行的长度
    
  • uptime 打印系统总共运行了多长时间和系统的平均负载。
10:37  up 4 days, 45 mins, 2 users, load averages: 1.86 1.83 1.83
uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
  • w
w命令的主要功能是显示目前登入系统的用户信息。但是与who不同的是,w命令功能更加强大,
w命令还可以显示:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1分钟、5分钟和15分钟的平均负载。
然后是每个用户的各项数据,项目显示顺序如下:登录帐号、终端名称、远 程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。
  • top
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
    
  • netstat
netstat -ap|grep 6379
-a(all)参数用于列出所有监听和非监听状态的连接。
-ap  为了知道进程信息,需要使用-p(program)参数
-at  查看tcp连接 
-au  查看udp连接 
-l 对于还没有建立完整连接的服务器来说,它启动后正常的状态是LISTEN状态,不要带上-a参数,它会列出所有
-anp 在执行前面的命令的时候速度很慢,是因为很多连接的主机名和端口对应的应用都解析出来了;
    使用-n(numeric)参数就可以快速显示原始数字端口或地址了
  • whois WHOIS是一个基于TCP的查询和响应协议,通常用于为互联网用户提供信息服务。 它返回有关注册域名,IP地址块,Nameservers和更广泛的信息服务的信息。

在Linux中, whois命令行实用程序是一个WHOIS客户端,与WHOIS服务器(或数据库主机)进行通信,该服务器监听众所周知的端口号43上的请求,该端口号以可读的格式存储和传送数据库内容。

  • scp secure copy 用于在Linux下进行远程拷贝文件,scp传输是加密的 scp -r 本地需要上传的文件的路径 root@服务器ip:服务器文件路径 // 上传文件到远程服务器 scp -r root@服务器ip:服务器文件路径 本地文件路径 // 下载远程服务器文件到本地

  • 关于减号 -

管线命令在 bash 的连续的处理程序中是相当重要的!
在管线命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 
某些命令需要用到文件名 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 "-" 来替代, 举例来说:
[root@www ~]# tar -cvf - /home | tar -xvf -

上面这个例子是说:『我将 /home 里面的文件给他打包,但打包的数据不是纪录到文件,而是传送到 stdout; 
经过管线后,将 tar -cvf - /home 传送给后面的 tar -xvf - 』。
后面的这个 - 则是取用前一个命令的 stdout, 因此,我们就不需要使用 file 了!

  • echo
echo(选项)(参数)
    -e:激活转义字符

    用echo命令打印带有色彩的文字:
    文字色:

    echo -e "\e[1;31mThis is red text\e[0m"
    This is red text
    \e[1;31m 将颜色设置为红色
    \e[0m 将颜色重新置回
    颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

    背景色:

    echo -e "\e[1;42mGreed Background\e[0m"
    Greed Background
    颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

    文字闪动:

    echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
    红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐 
  • printf
printf  format-string  [arguments...]
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg  
%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),
任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
 
 %d %s %c %f 格式替代符详解:
 
 d: Decimal 十进制整数 -- 对应位置参数必须是十进制整数,否则报错!
 
 s: String 字符串 -- 对应位置参数必须是字符串或者字符型,否则报错!
 
 c: Char 字符 -- 对应位置参数必须是字符串或者字符型,否则报错!
 
 f: Float 浮点 -- 对应位置参数必须是数字型,否则报错!

 printf的转义序列
序列	说明
\a	警告字符,通常为ASCII的BEL字符
\b	后退
\c	抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效), 
        而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\f	换页(formfeed)
\n	换行
\r	回车(Carriage return)
\t	水平制表符
\v	垂直制表符
\\	一个字面上的反斜杠字符
\ddd	表示1到3位数八进制值的字符。仅在格式字符串中有效
\0ddd	表示1到3位的八进制值字符