Linux 命令使用记录

  • [Ctrl+s键],停止滚屏;[Ctrl+q键]恢复滚屏。

  • gcore 进程号生成运行程序的dump文件 ,配合gdb命令,调试多线程,查死锁。

  • dumpe2fs 分区设备文件名查询linux文件系统状态,inode,blocks使用、剩余量等信息。

  • source 1.sh. 1.sh等价,在当前shell中执行;bash 1.shsh 1.sh等价, 打开一个subshell去执行。

  • echo $$ 打印当前进程的pid ;可以在shell中直接执行,也可以在脚本中执行,显示所在shell的进程号。

  • ls -lrt命令,按时间反向排序文件,搜索常用日志文件的利器。

  • cp filename{,.bak},快速备份一个文件。cp -arf完整、完全复制文件和目录。注意,大括号的扩展功能。

  • 给文件设置特殊权限:chattr +i 文件或目录,使不可更改、删除,chattr +a 文件或目录,使可以添加数据、不可删除。

  • alias abc=/a/b/c ,对长目录进行简化操作。

  • 换行、排序、去重、计数:echo -e "1\n2\n1\n2\n" | sort | uniq | wc -l

  • sysctl -w net.ipv4.icmp_echo_ignore_all=1,屏蔽别人ping你的主机。

  • inotifywait -m -r -e create,move,delete,modify ${_path} -q,用来监控文件或目录的变化。

  • /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT,iptables开放端口,默认在第一行添加。

  • /sbin/iptables -L -n,查看iptables规则;iptables -D INPUT 1,删除iptables第一行信息。

  • /etc/rc.d/init.d/iptables save; /etc/init.d/iptables restart,iptables保存后重启。

  • man $(ls /bin | shuf | head -1),随机导出一个命令在man手册。shuf - generate random permutations,生成随机排列。

  • adduser -s /bin/false -d /var/ftp/ftp1 ftp1,“/bin/false”是最严格的禁止login选项,一切服务都不能用。如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。

  • lsof,List Open File。在linux中,一切皆文件。无论文件的本质为何,linux给每个文件创建的文件描述符提供了大量关于这个文件本身的信息。lsof $(which httpd),查看哪个进程使用了apach的可执行文件。lsof /dev/hda6,查看哪个进程在使用/dev/hda6。 lsof -i:80,显示所有打开80端口的进程。ps -p 11688,显示哪些文件被11688进程打开。

  • cat /var/log/messages | grep -E "shutdown | reboot",查看关机日志

  • top,查看linux主机的状态,可以显示进程级的信息。vmstat,可以显示系统级的cpu、内存信息。

  • pidstat -d,显示所有进程的IO使用情况。iostat -x 1 3,可以显示系统级的IO信息。

  • sar -b ,查看I/O和传递速率的 统计信息sar -n { keyword [,DEV.SOCK.TCP..] | ALL },统计网络信息

  • iostat -x 1 3,输出CPU和磁盘I/O相关的统计信息,-x 选项,显示更详细的信息,每秒显示一次,显示3次。

  • iotop,简单的top类I/O监视器。-p 显示指定进程的IO信息。

  • sort -u,默认升序,-u 去除重复行。-r ,倒序; -n,以数值排序; -f,忽略大小写;-t,设置分隔符,-k,指定以第几列来排序。

  • Updatetable_nameSETfield_name= replace (field_name,’from_str’,'to_str’) Wherefield_nameLIKE ‘%from_str%’,mysql 替换字符串的实现方法。

  • 向文件的开头增加字符串

[root@zdw01 zdw]# sed -i 's/^/&xxx/' 1.txt
xxx1
sed -i '3s/old/new/' file ## 对文件中的第3行,进行替换
sed -i '/xxx/s/aaa/fff/g' file ## 对包含xxx的行,进行替换
sed -i '3s/[#\*]/fff/gp' file ## 对文件中的第3行,将其中的#号或是*号进行替换

  • curl --silent --output newDir/filename $URL,静默模式下载资源并制定输出文件名。
  • tcpdump -w src_dst.pacp -s 0 -i any -v -nn tcp src host x.x.x.x and \(dst host x.x.x.x and tcp port xx \),抓包工具,直接启动会抓取流经主机的所有数据包。大致后面的格式为 protocal direction tyep xxxx,且可以使用操作符。
  • Wireshark使用,大概可以这样过滤:ip.dst==192.168.1.1 and ip.src ==192.168.1.1
  • ln -snf 源文件 目标文件,-s 软链接(符号链接),-n 把符号链接视为一般目录,-f 强制执行。
  • chkconfig --add service_name,为服务添加开机启动。其他还有 list 和 del 选项。还可以为服务配置运行级别。chkconfig --level 35 mysqld on,让设置mysql在level3和5时开机运行。

如何增加一个服务:
1.服务脚本必须存放在/etc/ini.d/目录下;
2.chkconfig --add servicename
在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;
3.chkconfig --level 35 mysqld on
修改服务的默认启动等级。

  • date '+&%F %T',标准的时间显示,如:2019-01-14 10:15:54

%F:full date; same as %Y-%m-%d,
%T:time; same as %H:%M:%S,
%t:a tab,
%s seconds since 1970-01-01 00:00:00 UTC

你可能感兴趣的:(学习分享)