每日几个Linux命令,十天了解工作中常用的那些命令(一)

ls

显示当前目录下非影藏文件与目录

[root@localhost ~]# ls

显示当前目录下包括影藏文件在内的所有文件列表

[root@localhost ~]# ls -a

可见隐藏文件与非隐藏文件在CentOS下的区别就是文件名前的.

输出长格式列表

[root@localhost ~]# ls -1

水平输出文件列表

[root@localhost /]# ls -m

最近修改的文件显示在最上面。

[root@localhost /]# ls -t

打印文件的UID和GID

[root@localhost /]# ls -n

total 254
drwxr-xr-x   2 0 0  4096 Jun 12 04:03 bin
drwxr-xr-x   4 0 0  1024 Jun 15 14:45 boot
drwxr-xr-x   6 0 0  4096 Jun 12 10:26 data
drwxr-xr-x  10 0 0  3520 Sep 26 15:38 dev
drwxr-xr-x  75 0 0  4096 Oct 16 04:02 etc

用户ID(UID):每个用户必需指定UID。UID 0是保留给root用户的,UID 1~99是保留给其它预定义用户的, UID 100~999是保留给系统用户的

组ID(GID):主组ID(保存在/etc/group文件中);

列出文件和文件夹的详细信息

[root@localhost /]# ls -l

按时间列出文件和文件夹详细信息

[root@localhost /]# ls -lt

按修改时间列出文件和文件夹详细信息

[root@localhost /]# ls -ltr

mkdir

选项

 -m<目标属性> 建立目录的同时设置目录的权限
 -p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录

在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问

mkdir -m 700 /usr/meng/test

在当前目录中建立binbin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问

mkdir -mp 750 bin/os_1

rm

选项

-f:强制删除文件或目录
-i:删除已有文件或目录之前先询问用户
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理

交互式删除当前目录下的文件testexample

rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)

删除当前目录下除隐含文件外的所有文件和子目录

# rm -r *

需要注意的是:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

pwd

pwd命令以绝对路径的方式显示用户当前工作目录。

[root@localhost ~]# pwd
/root

scp

  • scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器。

从远处复制文件到本地目录

scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

从远处复制目录到本地(递归)

scp -r root@10.10.10.10:opt/soft/mongodb /opt/soft/

上传本地文件到远程机器指定目录

scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest

上传本地目录到远程机器指定目录

scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
  • 需要注意:上传先写文件名后写服务器地址名,下载先写服务器地址名,后写本机存放位置

cp

  • 如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。
  • cp命令不能复制目录,如果要复制目录,则必须使用-R选项

选项

-p:保留源文件或目录的属性
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理

将指定文件复制到当前目录下

cp ../mary/homework/assign .

将文件file复制到目录/usr/men/tmp下,并改名为file1

cp file /usr/men/tmp/filel

将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh

cp -r /usr/men /usr/zh

iostat

  • iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat -x /dev/sda1来观看磁盘I/O的详细情况:

iostat -x /dev/sda1 

Linux 2.6.18-164.el5xen (localhost.localdomain)
2018年03月26日  
 
avg-cpu:  %user   %nice %system %iowait 
%steal   %idle  
          0.11    0.02    0.18    0.35   
0.03     99.31  
 
Device:         tps   Blk_read/s    Blk_wrtn/s  
Blk_read   Blk_wrtn  
sda1            0.02     0.08         0.00                       
2014            4 

第三行和第四行显示CPU使用情况(具体内容和mpstat命令相同)。
I/O输出的信息,如下所示:

标示  说明
Device  监测设备名称
rrqm/s  每秒需要读取需求的数量
wrqm/s  每秒需要写入需求的数量
r/s     每秒实际读取需求的数量
w/s 每秒实际写入需求的数量
rsec/s  每秒读取区段的数量
wsec/s  每秒写入区段的数量
rkB/s   每秒实际读取的大小,单位为KB
wkB/s   每秒实际写入的大小,单位为KB
avgrq-sz    需求的平均大小区段
avgqu-sz    需求的平均队列长度
await   等待I/O平均的时间(milliseconds)
svctm   I/O需求完成的平均时间
%util   被I/O需求消耗的CPU百分比

lsof

  • lsof命令用于查看你进程打开的文件,打开文件的进程。进程打开的端口TCP,UDP找回,恢复删除的文件。是十分方便的系统工具,因为lsof需要访问系统核心内存及各种文件,所以需要root权限。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符。该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
lsof
command     PID USER   FD      type             DEVICE     SIZE       NODE NAME
init          1 root  cwd       DIR                8,2     4096          2 /
init          1 root  rtd       DIR                8,2     4096          2 /
init          1 root  txt       REG                8,2    43496    6121706 /sbin/init
init          1 root  mem       REG                8,2   143600    7823908 /lib64/ld-2.5.so
init          1 root  mem       REG                8,2  1722304    7823915 /lib64/libc-2.5.so
init          1 root  mem       REG                8,2    23360    7823919 /lib64/libdl-2.5.so
init          1 root  mem       REG                8,2    95464    7824116 /lib64/libselinux.so.1
init          1 root  mem       REG                8,2   247496    7823947 /lib64/libsepol.so.1
init          1 root   10u     FIFO               0,17                1233 /dev/initctl
migration     2 root  cwd       DIR                8,2     4096          2 /
migration     2 root  rtd       DIR                8,2     4096          2 /
migration     2 root  txt   unknown                                        /proc/2/exe
ksoftirqd     3 root  cwd       DIR                8,2     4096          2 /
ksoftirqd     3 root  rtd       DIR                8,2     4096          2 /
ksoftirqd     3 root  txt   unknown                                        /proc/3/exe
migration     4 root  cwd       DIR                8,2     4096          2 /
migration     4 root  rtd       DIR                8,2     4096          2 /
migration     4 root  txt   unknown                                        /proc/4/exe
ksoftirqd     5 root  cwd       DIR                8,2     4096          2 /
ksoftirqd     5 root  rtd       DIR                8,2     4096          2 /
ksoftirqd     5 root  txt   unknown                                        /proc/5/exe
events/0      6 root  cwd       DIR                8,2     4096          2 /
events/0      6 root  rtd       DIR                8,2     4096          2 /
events/0      6 root  txt   unknown                                        /proc/6/exe
events/1      7 root  cwd       DIR                8,2     4096          2 /

lsof输出各列信息的意义如下:

COMMAND:进程的名称
PID:进程标识符
PPID:父进程标识符(需要指定-R参数)
USER:进程所有者
PGID:进程所属组
FD:文件描述符,应用程序通过文件描述符识别该文件。

uname

  • uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

显示在网络上的主机名称

[root@localhost ~]# uname -n
localhost

显示操作系统名称

[root@localhost ~]# uname -s
Linux
    原文作者:HikariCP
    原文地址: https://www.jianshu.com/p/62a904a6ea2e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞