leocll

.

Linux运维基本命令

  • []表示可选的
  • <>表示必须的

干货

  • free -h:检测内存使用情况
  • df -h:检测磁盘使用情况
  • top:综合检测
  • atop:更全的综合检测
  • lsof -i tcp:<port>:查看使用port端口的程序,如果使用port的程序是sudo权限启动的,需要加sudo才能查出来
  • ps -ef | grep <keyword>:根据关键字筛选查看正在运行的程序的详细信息
  • find . -name "*.txt":查找当前目录下拓展名问.txt的文件

find命令

格式:find <path> [option] [-print] [-exec|-ok <command> {} \;]
功能:查找文件

格式拆解:

  • path:所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
  • -print:将匹配的文件输出到标准输出
  • -exec:对匹配的文件执行该参数所给出的shell命令。相应命令的形式为<command> {} \;,注意{};之间的空格
  • -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行

选项说明:

  • -ipath p | -path p :路径名称符合p的文件,ipath会忽略大小写
  • -name name | -iname name
    :文件名称符合name的文件,iname会忽略大小写
  • -size n:文件大小是n,单位,b代表512位元组的区块,c表示字元数,k表示kilo bytes
  • -type T :文件类型是T的文件,T可为一下之一
    • d:目录
    • c:字型装置文件
    • b:区块装置文件
    • p:具名贮列
    • f:一般文件
    • l:符号连结
    • s:socket
  • -empty:空的文件
  • -gid ngidn
  • -pid nprocess idn的文件
  • -group namegroup名为name
  • -anewer file:比文件file更晚被读取过的文件
  • -cnewer file:比文件file更新的文件

注意:以下+n表示n以前,-n表示n以内

  • -amin n:在过去n分钟内被读取过
  • -atime n:在过去n天内被读取过的文件
  • -cmin n :在过去n分钟内被修改过
  • -ctime n:在过去n天内被修改过的文件

示例:

# 将目前目录及其子目录下所有延伸档名是c的文件列出来。
find . -name "*.c"
# 将目前目录其其下子目录中所有一般文件列出
find . -type f
# 将目前目录及其子目录下所有最近20天内更新过的文件列出
find . -ctime -20
# 查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
find /var/log -type f -mtime +7 -ok rm {}\;
# 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
find . -type f -perm 644 -exec ls -l {}\;
# 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
find / -type f -size 0 -exec ls -l {} \;

ps命令

格式:ps [option]
功能:查看当前正在运行的程序的信息

usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]
  • -a:显示现行终端机下的所有程序,包括其他用户的程序
  • -e:列出程序时,显示每个程序所使用的环境变量
  • -f:用ASCII字符显示树状结构,表达程序间的相互关系
  • -u:以用户为主的格式来显示程序状况
  • -x:显示所有程序,不以终端机来区分
  • PS:笔者经常是搭配-ef-aux选项使用,可查看进行的详细信息,如:进程组、启动参数等

grep命令

格式:grep [option] <keyword> [file|directory]
功能:过滤

usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...

格式拆解:

  • keyword:关键字
  • file|directory:文件,当加-l-r选项时,可为文件,以及通配符,如:./*/*.txt

选项说明:

  • -v:反过滤,除keyword以外,其他都不过滤
  • -i:忽略大小写
  • -n:输出结果加行号
  • -c:统计字符串出现的次数
  • -w:全字匹配搜索
  • -l:只列出文件名
  • -r:对目录下的所有子目录进行搜索
  • --color:输出时对keyword高亮显示
  • PS:grep可以多个一起使用:grep [keyword1] | grep [keyword2] | grep -v [keyword3] ...

示例:

// 在log.txt搜索包含error的行
grep "error" log.txt
// 忽略大小写
grep -i "ErroR" log.txt
// 输出时,带行号
grep -n "error" log.txt
// 统计error出现的次数
grep -c "error" log.txt
// 全字匹配搜索,搜索只有error的行
grep -w "error" log.txt
// 搜索当前文件夹下拓展名为.txt且包含error的文件
grep -l "error" ./*.txt
// 搜索当前文件夹下所有文件包含error的行
grep -r "error" .
// 搜索当前文件夹下所有包含error的文件
grep -lr "error" .

du命令

格式:du [option] [file]
功能:显示每个文件和目录的磁盘使用空间。

  • -a:显示目录中个别文件的大小。
  • -b:显示目录或文件大小时,以byte为单位。
  • -c:除了显示个别目录或文件的大小外,同时也显示所有的目录或文件的总和。
  • -s:仅显示总计,只列出最后加的值。
  • -h:以K、M、G为单位输出,提高信息的可读性。

df命令

格式:df [option] [file]
功能:可显示目前所有文件系统的可用空间及使用情况(动态显示过程);查看哪一级文件大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

  • -h:以K、M、G为单位输出,提高信息的可读性。

top命令

功能:提供了实时的对系统的处理器的状态监监视;显示系统中各个进程的资源占用状况。

  • -d:指定每两次屏幕信息刷新之间的时间间隔。
  • -p:通过指定监控进程ID来仅仅监控某个进程的状态。

free命令

功能:查看当前系统内存的使用情况它显示系统中剩余及已用的物理内存和交换内存以及共享内存和被核心使用的缓冲区。

  • -h:以K、M、G为单位显示。
  • -b | --bytes:输出以比特方式显示。
  • -k | --kb:输出以KB方式显示,这是系统默认项。
  • -m | --mb: 输出以MB方式显示,这是常用项,比较清晰。
  • -g | --gb:输出以GB方式显示。
  • -l | --lowhigh:显示详细信息。
  • -o | --old:旧格式显示,不显示-/+ buffers/cache项。
  • -t | --total:显示总共物理内存和交换区间。
  • -c n | --count=n:显示统计的次数,n默认为1 次。
  • -s n | --repeat=n: 间隔秒数,持续观察内存使用情况。
  • -V | --version:显示版本信息。
  • --help:显示帮助信息。

pstack命令

格式:pstack <PID>
功能:可显示每个进程的栈跟踪。必须由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID

su命令

功能:用户之间的切换功能。

  • su:切换了root身份,但shell环境仍然是普通用户的shell
  • su -f:不必读启文件,仅用于cshtcsh两种shell
  • -l:加了这个参数之后,就好像重新登录一样,部分环境变量都是以该使用者为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root

sudo命令

格式: sudo [option] <command>
功能:普通用户可以使用root权限来执行指定命令。

  • -s:执行环境变数中的SHELL所指定的shell,或是/etc/passwd里所指定的shell
  • -v:显示版本编号。
  • -h:显示版本编号及指令的使用方法说明。
  • -l:显示出自己的权限。
  • -k:将会强迫使用者在下一次执行sudo时问密码

adduser命令

格式:adduser [option] <username>
功能:指令根据指令行参数给系统添加用户,它的配置信息保存在/etc/adduser.conf文件中。

  • -r|--system:创建一个系统用户。
  • -q:只显示警告信息和错误信息,不显示一般信息。
  • --debug:用于测试。
  • -c:加上备注文字。备注文字会保存在passwd的备注栏位中。
  • -d:指定用户登入时的启始目录。
  • -D:变更预设值。
  • -e:指定帐号的有效期限,缺省表示永久有效。
  • -f:指定在密码过期后多少天即关闭该帐号。
  • -g:指定用户所属的群组。
  • -G:指定用户所属的附加群组。
  • -m:自动建立用户的登入目录。
  • -M:不要自动建立用户的登入目录。
  • -s:指定用户登入后所使用的shell
  • -u:指定用户id。

passwd命令

功能:修改用户密码。

  • -d:删除密码。
  • -f:强制执行。
  • -k:更新只能发送在过期之后。
posted @ 2019-06-24 16:10  leocll  阅读(1347)  评论(0编辑  收藏  举报