【Linux】linux常用命令操作整理

1.Linux如何查看端口

使用lsof(list open files)命令,lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000。

或者使用netstat命令

netstat -tunlp | grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp | grep 8000。

还有更好的命令ss(Socket Statistics)

ss命令可以用来获取socket统计信息, 默认不添加选项情况 ss输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接,所以ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

2.查看系统内存使用量

 可以使用free命令 free -h  也可以使用 top -l 1 | head -n 10 | grep PhysMem 

 free命令可用于显示系统中可用的物理内存,交换区内存(Swap)以及内核使用的buffer

3.删除文件中空行的方法

songguojundeMBP:tmp songguojun$ cat data.txt 
aaaa

bbb

cccc  ccc

dd
eeee
songguojundeMBP:tmp songguojun$ grep . data.txt 
aaaa
bbb
cccc  ccc
dd
eeee
[songguojundeMBP:tmp songguojun$ sed -i "" '/^s*$/d' data.txt  unix系统中-i指令后面要多加一个“”空格 

 或者用tr命令

[root@oa-dev tmp]# cat test.txt
aaa

bbb

ccc  ccc
[root@oa-dev tmp]# cat test.txt  | tr -s '
'
aaa
bbb
ccc  ccc

4.显示文件中匹配关键字行及其行号


songguojundeMBP:tmp songguojun$ sed -n "/dd/p" filename

5.根据进程pid查看进程运行时间情况

songguojundeMBP:tmp songguojun$ ps -p 39 -o pid,time,lstart,etime
  PID      TIME STARTED                       ELAPSED
   39   0:01.472/18 19:32:04 2019      06:21:44

 lstart是启动时间 etime是运行总时间

6.显示用户用户登录主机的时间信息

ac命令
songguojundeMBP:/ songguojun$ ac -d 显示每天的总的连接时间 Jan 31 total -0.44 Feb 1 total 24.00 Feb 2 total 23.98 Feb 11 total 206.79 Feb 12 total 23.90 Feb 13 total 23.77 Feb 14 total 23.99 [songguojundeMBP:/ songguojun$ ac -p 显示每个用户的总的连接时间 root 0.01 songguojun 423.88 total 423.89

7.使用Ctrl+R 快捷搜索历史命令

8.显示随机几位数

songguojundeMBP:~ songguojun$ echo $RANDOM |cksum |cut -c 1-8   随机显示8位数字
17488784

9.计算目录中的目录和文件数

songguojundeMBP:tmp songguojun$  ls -l | wc -l 注意 wc -l 是按newline计算的 也就是
字符

10.显示文件类型

songguojundeMBP:tmp songguojun$ file -b index.html 
HTML document, UTF
-8 Unicode text, with CRLF line terminators

 11.删除目录下的多个文件

songguojundeMBP:tmp songguojun$ rm -I aa/bb/* 
rm: remove 16 arguments? y 提示

12.curl获取头部信息

curl -I -v  https://www.baidu.com 

13.查看IO调度算法

Linux IO 调度算法主要有:1.Noop算法

                                           2.Deadline算法。一般运行有mysql系统的服务器建议采用该调度算法。

                 3.CFQ算法(Completely Fair Queuing)

            4.Anticipatory算法。

 
 14.查看系统时间

[root@192.17.5.85:/tmp]$ date "+%Y-%m-%d %H:%M:%S"
2019-07-03 00:02:39

15.crontab定时任务

crontab -l
crontab -u :指定某个用户的cron服务
crontab -l :列出某个用户的cron服务的详细内容
crontab -r :删除某个用户的cron服务
crontab -e :编辑某个用户的cron服务 

 另外一个常用crontab 命令参数是 crontab -e用来编辑配置 /etc/crontab文件,会检查我们配置的脚本语法,然后被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件。

[root@172.16.0.99:~]$ ls /var/spool/cron/
httpd    root

上面两个文件打开就是我们编辑的定时脚本。

16.查看磁盘是SSD还是HDD

[root@172.16.0.0:~]$ cat /sys/block/sr0/queue/rotational      # sr0是我的硬盘设备名称
1

返回值

  1:表示磁盘可旋转,就是HDD了。

  0:表示磁盘不可以旋转,就有可能是SSD。

 17.根据进程名称获取Pid,pgrep命令

[root@172.16.0.55:~]$ ps aux | grep nginx
root     10135  0.0  0.0  46768   728 ?        Ss    2018   0:00 nginx: master process /opt/app/nginx/sbin/nginx
httpd    10172  0.0  0.0  47084  1944 ?        S    Jul01   0:05 nginx: worker process    
httpd    10173  0.0  0.0  47084  2152 ?        S    Jul01   0:07 nginx: worker process    
root     13696  0.0  0.0 103260   896 pts/8    S+   11:21   0:00 grep --color=auto nginx
[root@172.16.0.55:~]$ pgrep -lo nginx
10135 nginx

 pgrep命令参数:

  -l 列出程序名和进程ID。

  -o 进程起始的ID。

  -n 进程终止的ID。

 18.查看当前linux系统的字符集

[root@172.16.0.55:~]$ locale    这个命令也可以设置,注意不要和locate命令弄混了,虽然很像
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_ALL=

 查看下系统目前所支持的语言

[root@oa-dev /]# locale -a
C
en_AG
en_AG.utf8
en_AU
en_AU.iso88591
en_AU.utf8
en_BW
en_BW.iso88591
en_BW.utf8
en_CA
en_CA.iso88591
en_CA.utf8
en_DK
en_DK.iso88591
en_DK.utf8
en_GB

19.查看操作系统信息

songguojundeMBP:~ songguojun$ uname -s    #显示操作系统名称
Darwin
songguojundeMBP:~ songguojun$ uname -m    #显示计算机类型(指令集)
x86_64
songguojundeMBP:~ songguojun$ uname -r    #显示操作系统的发行编号
18.6.0
songguojundeMBP:~ songguojun$ uname -a  #显示系统信息
Darwin songguojundeMBP.lan 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64

20.查看文件元信息 

songguojundeMBP:~ songguojun$ stat composer.json 
  File: `composer.json'
  Size: 1620          Blocks: 8          IO Block: 4096   regular file    #文件大小   占用block大小 块大小  文件类型 
Device: fc05h/64517d    Inode: 3804444     Links: 1              #文件所在设备号,分别以十六进制和十进制显示 文件inode节点号 硬链接数 
Access: (
0644/-rw-r--r--) Uid: ( 2000/ httpd) Gid: ( 2000/ httpd)      #访问权限
Access:
2019-07-12 16:41:02.318000069 +0800                   #最后访问时间
Modify:
2019-07-11 14:30:47.928000066 +0800                   #最后修改时间
Change:
2019-07-12 17:29:02.705000069 +0800                   #最后状态改变时间

 使用 -f 参数显示的是该文件所在文件系统的信息

songguojundeMBP:~ songguojun$ stat -f composer.json
  File: "composer.json"
    ID: 2de589c3222201b8 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 44451124   Free: 21790504   Available: 19532499
Inodes: Total: 11296768   Free: 10505992

 21.删除文件中部分内容

通过tail命令,将文件尾部的n行数据重定向到新的文件中
tail -n 100 access.log > access.log.bak
然后删除旧的文件,将新的文件修改为原名字
rm access.log
mv access.log.bak access.log

  22.查看apache加载了哪些模块

[root@oa-dev apache2]# bin/apachectl -t -D DUMP_MODULES
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 authz_host_module (shared)
 include_module (shared)
 deflate_module (shared)
 log_config_module (shared)
 logio_module (shared)
 expires_module (shared)
 headers_module (shared)
 setenvif_module (shared)
 mime_module (shared)
 status_module (shared)
 dir_module (shared)
 alias_module (shared)
 rewrite_module (shared)
 php5_module (shared)
 ssl_module (shared)
Syntax OK

 23.查看系统时区

[root@oa-dev /]# date -R
Sun, 01 Dec 2019 06:17:34 +0800

 上面命令输出了国家的东八区(+0800), 而 -0800则表示为西八区,是美国旧金山所在的时区

 24.Linux系统时区相关

   Linux系统时间是硬件时间结合时区,硬件时间是 UTC 标准时间,本地时间需要结合时区计算出来。

  相关文件有两个

/etc/localtime       #描述本机时间
/etc/timezone     #描述本机所属的时区
[root@oa-dev /]# file /etc/localtime
/etc/localtime: symbolic link to `../usr/share/zoneinfo/Asia/Shanghai'   #这个是链接到这里的文件
[root@oa-dev /]# cat ../usr/share/zoneinfo/Asia/Shanghai   #注意这个文件不能直接查看 有乱码
TZif2                                 �Y^��      �p�ӽ ����|@ �;>�Ӌ{��B��^

CST(China Shanghai Time,东八区时间)
UTC(Coordinated Universal Time,标准时间)

 25.显示当前的各种用户进程限制

songguojundeMacBook-Pro:~ songguojun$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

  26.同时复制多个文件

cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/

27. sysctl命令

  sysctl命令用于运行时查看及配置内核参数,这些参数位于/proc/sys目录下。比如查看swap分区swappiness大小,sysctl -a | grep swappiness

   

原文地址:https://www.cnblogs.com/songgj/p/10398287.html