工作中常用到的linux命令(持续更新中)

netstat

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n --numeric 直接使用IP地址,而不通过域名服务器。(显式数字地址)
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名(pid)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

注意:并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

ps

ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格。

ps aux 与 ps -aux 是不同的,例如 -u 参数表示打印进程的 uid,而参数 u 表示显示进程的详细信息

 两种格式是允许混用的,例如 ps ax -f

  • BSD 格式 —— 参数前面不加 -
  • UNIX/LINUX 格式 —— 参数前面通常要加 -

a  显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c  显示进程的真实名称

-e 等于“-A”
e  显示环境变量
f  显示程序间的关系

u  指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程 

ps -Af |grep gnome    //-A:所有进程  -f:所有列格式.

$ ps aux

$ ps -ef

ps -u root

ps -ef|grep ssh

top

PID 进程id
PPID 父进程id

按CPU使用率排序

运行top命令后,键入大写P。

有两种途径:

a) 打开大写键盘的情况下,直接按P键

b) 未打开大写键盘的情况下,Shift+P键

按内存使用率排序

运行top命令后,键入大写M。

有两种途径:

a) 打开大写键盘的情况下,直接按M键

b) 未打开大写键盘的情况下,Shift+M键

chkconfig

chkconfig命令用来更新、查询、修改不同运行级上的系统服务。比如安装了httpd服务,并且把启动的脚本放在了/etc/rc.d/init.d目录下,有时候需要开机自动启动它,而有时候则不需要,因此,就可以使chkconfig命令来进行控制,这个命令就相当于一个开关,不过这个开关有[0-6]共7个档.

# 0 - 停机
# 1 - 单用户模式 
# 2 - 多用户,没有NFS 
# 3 - 完全多用户模式(标准的运行级) 
# 4 - 没有用到 
# 5 - X11(xwindow) 
# 6 - 重新启动 

表示在不同级别下的运行状态是on还是off。所以千万不用讲运行级别设置为0,6;最常用的就是2,3,5

chkconfig --list [name] 服务列表[可根据实际需要,停掉不用服务]
chkconfig --add  [name] 服务添加[如缺省,则从缺省的init脚本自动建立] 
chkconfig --del  [name] 服务删除[并把相关符号连接从/etc/rc[0-6].d删除]
chkconfig --level name <on|off|reset>  
on    服务在改变运行级时的启动
off   服务在改变运行级时的停止
reset 指初始化服务信息

kill  pkill

kill <pid>

kill -9 <pid>

如果你使用kill,你需要知道进程ID号。pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。

pkill <进程名>

who  whoami

who和 w 类似命令,提供当前登录用户列表、系统启动时间、运行级别等。

whoami 命令输出当前用户ID

sed

去掉日期的中括号  []

sed -rn 's/^\[([-|:|,| |0-9]{23})](.*$)/\1\2/p' 0010000001550_20181031

sed -rn 's/^\[([-|:| |0-9]{19}),[0-9]{3}](.*$)/\1\2/p' 0010000001550_20181031 > tmpdate 

#要求起始与结束用的字符串必须在文档中同时存在
sed -n '/2018-10-31 07:50:56/,/2018-10-31 07:58:16/p' tmpdate

sed -rn '/2018-10-31 07:52:[0-9]{2}/,/2018-10-31 07:58:[0-9]{2}/p' tmpdate

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

mount挂载外设(/dev/cdrom是cd进不去的)
-------------------
    1.右键client右下角的光盘图标 ->设置
    2.iso文件
        选择一个iso镜像文件。
    3.右键client右下角的光盘图标 ->连接.
    4.创建文件夹/mnt/cdrom
        $>su root
        $>mkdir cdrom
    5.挂载光驱/dev/cdrom到/mnt/cdrom
        $>mount /dev/cdrom /mnt/cdrom
        $>find . /mnt/cdrom                

卸载外设
--------------------
    1.从挂载的目录中出来,否则出现设备繁忙
        $>cd ..
    2.使用umount进行卸载
        $>umount /mnt/cdrom

vmware Vnet8虚拟网卡丢失的找回问题
--------------------------------------
    1.打开VMware Workstation 
    2.然后点击Edit --> Virtual Network Edit --> 打开Virtual Network Edit框 ,
    3.点击最下面的的Restore Default 按钮,
    3.恢复默认设置,这会在网络连接那块可以看到丢失的VMware Network Adapter VMnet8 又回来啦,
      或者 在Virtual Network Edit框 找到一个Add Network... 的按钮 弹出来一个框 然后在select a network to add 中选择VMnet8 
      单击OK 就可以啦

ls -lrt //按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)

# grep str /tmp/test //在文件 '/tmp/test' 中查找 "str"

# grep ^str /tmp/test //在文件 '/tmp/test' 中查找 "str" 开始的行

# grep [0-9] /tmp/test //查找 '/tmp/test' 文件中包含数字的行

# grep str -r /tmp/* //在目录 '/tmp' 递归查找 "str"

# diff file1 file2 //找出两个文件的不同处

# sdiff file1 file2 //以对比的方式显示两个文件的不同

# find / -name file1 //从 '/' 开始进入根文件系统查找文件和目录

# find / -user user1 //查找属于用户 'user1' 的文件和目录

# find /home/user1 -name \*.bin //在目录 '/ home/user1' 中查找以.bin结尾的文件(和 find /home/user1 -name  *.bin相同)

# find -name '*.[ch]' | xargs grep -E 'expr' //在当前目录及其子目录所有.c和.h文件中查找 'expr'

# find -type f -print0 | xargs -r0 grep -F 'expr'//在当前目录及其子目录的常规文件中查找 'expr'

# find -maxdepth 1 -type f | xargs grep -F 'expr'//在当前目录中查找 'expr'

 

Cp -r 源目录  目的目录  (要加r)

/etc   配置文件目录:防火墙文件,jdk环境配置文件

/usr  UNIX shared resource 应用程序存放目录,/usr/bin 存放应用程序 /usr/share存放共享文件

chmod -R 777 xxx        //递归修改权限

    CentOS            Windows
    $>ls            cmd>dir    
    $>ls --help                //查看命令帮助
    $>man ls                //查看命令帮助
    $>clear            cmd>cls        //清屏
    $>cd .            cmd>cd .    //进入当前目录
    $>cd ..            cmd>cd ..    //进入上级目录

    $>pwd            //显式当前目录
    $>su root        //切换用户,输入密码,swith user
    $>passwd        //修改当前用户的密码
    $>ifconfig        cmd>ipconfig            //查看ip地址
    $>ping localhost    cmd>ping localhost        //查看网络连通情况
    $>ping www.baidu.com    cmd>ping www.baidu.com    //查看网络连通情况

$>cd ~            //回到主目录
    $>cd -            //回到上次的目录

$>alias            //查看所有的别名

 $>ls -a -l -h        //查看当前目录-h:人性化 -l:列表  -a:显式.开头

$>mkdir ~/Downloads/a    //创建目录
    $>touch ~/Downloads/a/1.txt    //创建文件
    $>echo helloworld > 1.txt    //重定向输出(覆盖)
    $>echo helloworld >> 1.txt    //重定向输出(追加模式)
    $>cat 1.txt            cmd>type a.txt    //查看文件
    $>cp 1.txt 2.txt    //复制文件
    $>rm 1.txt        //删除文件
    $>rm -rf /        //强行递归删除
    $>mv a.txt tmp/        

    $>more a.txt        //分屏显式
    $>more -5 a.txt        //显式前5行内容
    $>tail a.txt        //最后10行内容

    $>find . | more        // | 是管道符,前面的命令的输出作为后面命令输入。
    $>find ~                                            
    $>ls -aR ~        //递归显式主目录所有的文件(a表示包含.开头的文件)
    $>head a.txt        //显式前10行
    $>head -n 10 a.txt    //显式前10行
    $>head -10 a.txt    //显式前10行

    sudo reboot

    $>wc -c -l -w a.txt  //统计文本信息, //显式统计信息-c:字节 -l:line -w:word

    $>file xxx.xx        //查看文件类型

    $>tar -cvf my.tar 1.txt tmp    //创建归档文件
    $>tar -vxf my.tar        //解档文件

    $>find . | grep txt | cp `xargs` temp    //xargs是多行变单行,使用空格替换回车换行符.
                //`` : 是强制命令解析。
    $>ping `cat a.txt`    //命令嵌套
    $>which echo        //查看命令的文件路径

    $>help        //查看os内置的命令
    $>man ifconfig    //查看特定命令

    [Linux文件类型]
    -        //文件
    d        //目录
    l        //链接,类似于windows快捷方式.
    b        //block,块文件。
    c        //字符文件

    [linux的权限]
    $>chmod        //修改文件(夹)权限
    $>chmod    g-w    //去除group中write权.

    chmod        //只有owner和root才具有文件权限的修改权。

    [read权限]
        文件    :文件内容
        文件夹    :文件夹的内容    

    execute权限
    -------------
        文件    :执行
        文件夹    :进入目录        

    [centos]
    逻辑结构.
    /        //文件系统的根.

    /bin        //最初的命令(祖先),binary文件,可执行文件
    /sbin        //super binary(重要性高)

    /usr/bin    //厂商相关的命令,ubuntu
    /usr/sbin    //厂商相关的命令,ubuntu

    /usr/local/bin    //用户级别。
    /usr/local/sbin

service管理命令
-------------------
    1.查看服务的状态
        $>service server_name status    //语法    (systemctl restart network)
        $>service network status
        $>service network start        //启动
        $>service network stop        //停止
        $>service network restart    //重启

猜你喜欢

转载自blog.csdn.net/f110300641/article/details/84304972