Linux命令整理

一、Linux简介

1、什么是Linux

1.1、Linux操作系统:指GUN/Linux,采用Linux内核的GUN操作系统。

1.2、严格说的话,Linux不是一个操作系统,Linux只是一个操作系统的内核。内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。

2、Linux发行版本

(1)、RedHat,(2)、CentOS,(3)、Ubuntu,(4)、SUSE、(5)、Debain

3、远程登录

通过ssh服务实现远程登录Linux系统,默认ssh服务端口号为22。Windows系统上远程登录客户端有:Xshell、SecureCRT等。

二、Linux基本使用

1、用户与身份

1.1 root用户

root用户的根目录:/root

1.2普通用户

普通用户的家目录:/home/zfsky

1.3切换用户:su用户名

Øroot到普通用户:su zfsky无需密码。

Ø普通用户到root:su root需输入密码。

1.4查看用户用户组

Øwhoami:查看当前登录的用户名

Øgroups:查看当前登录用户的组内成员

Øgroups zfsky:查看zfsky用户所在的组以及组内成员

Øcat /etc/passwd:查看系统存在的所有用户名

格式:root:x:0:0:root:/root:/bin/bash

l第一字段:用户名

l第二字段:口令,映射到/etc/shadow文件中

l第三字段:UID

l第四字段:GID

l第五字段:用户名全称

l第六字段:用户的主目录所在位置

l第七字段:用户所用shell的类型

Øcat /etc/groups:查看系统存在的所有用户组

2、系统目录结构

2.1 /root

根分区,只有root用户对此目录拥有写权限。

2.2 /bin

用户可执行文件,此目录包含二进制可执行文件以及所有用户的常用命令(如:ls , cp等)。

2.3 /sbin

系统可执行文件,此目录中的命令主要供系统管理员使用(如:iptables、reboot等)。

2.4 /etc

配置文件,包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本。

2.5 /dev

设备文件,包含设备文件(在Linux中,一切都被看做文件:终端设备、USB、磁盘等等都被看做文件)。

2.6 /proc

进程信息,所有系统进程的信息都包含在/proc目录中。

2.7 /var

变量文件,/var是一个可增长的目录,包含变量文件(如,/var/log系统日志、/var/mail邮件)。

2.8 /usr

用户程序,为用户应用程序存放可执行文件、源代码和文档。

2.9 /home

用户主目录,用于存放用户的私人文件。

2.10 /boot

启动加载文件,系统启动时需要加载的文件。

2.11 /lib

系统库文件,/bin和/sbin中的可执行文件需要/lib中库文件的支持,库文件通常以"ld"或"ld*.so"的形式命名。

2.12 /opt

可选应用,用于安装独立软件商的可选应用。

2.13 /mnt

挂载目录,系统管理员可用于临时挂载文件系统。

2.14 /media

可移动媒体设备,挂载可移动媒体设备。

2.15 /src

src表示服务,用于服务器的所有服务数据存储在此目录中。

3、目录的基本操作

Øls命令:列出目录的内容

l语法:ls [选项] [目录或文件夹]

l颜色含义:

²蓝色:目录

²绿色:可执行文件

²红色:压缩文件

²浅蓝色:链接文件

²灰色:其他文件

Øcd命令:改变工作目录

l语法:cd [

directory ]

Øpwd命令:显示当前工作目录的绝对路径

l语法:pwd

Ømkdir命令:创建目录

语法:mkdir [选项] dirname

Ørmdir命令:删除空目录

l语法:rmdir [选项] dirname

4、文件的基本操作

Ø文件的移动:mv命令

l功能:为文件或目录改名或将文件或目录由一个目录移到另一个目录。

l语法:mv [选项]源文件或目录目标文件或目录

Ø文件的复制:cp命令

l功能:将给出的文件或目录拷贝到另一个文件或目录中。

l语法:cp [选项]源文件或目录目标文件或目录

Ø文件的删除:rm命令

l功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下所有文件及子目录均删除。

l语法:rm [选项]文件...

5、文件操作权限

Ø每个文件或目录的操作权限都有三组,每组用三位表示:文件属主的读、写和执行权限;属主同组用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

Øchmod命令:改变文件或目录的操作权限

l两种用法:一种是包含字母和操作符表达式的文字设定法,一种是包含数字的数字设定法。

l具体的权限:【1】可读r:4;【2】可写w:2;【3】可执行x:1。

6、更改文件或目录的属主/组

Ø文件与目录的归属是指文件与目录的所有者与所属的组。

Øchgrp命令:改变文件或目录所属的组。

l语法:chgrp [选项] group

filename

Øchown命令:改变文件或目录属主和属组。

l语法:chmod [选项]用户或组文件

三、文件管理

1、目录操作

Øcd切换目录

2、文件操作

Ø创建文件夹:mkdir

lmkdir文件夹名:创建当前目录下的文件夹

lmkdir a b c:同时创建多个并列文件夹

lmkdir -p /usr/local/zff创建指定路径下的文件夹(如果创建的文件夹的父目录不存在,连同父目录一块创建)

Ø删除文件夹:rmdir

lrmdir文件夹名:删除单个文件夹

lrmdir dirname1 dirname2 :删除多个文件夹

lrmdir /usr/local/dirname删除目录层级下的文件夹

lrmdir -p /usr/local/dirname删除带层级的全部目录

Ø创建文件:vi/touch

lvi/vim/touch file.txt:创建/编辑文件

Ø删除文件:rm -rf

lrm -rf filename

Ø文件查找:find——根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

lfind / -name "test":查找系统中以test命名的文件或文件夹

lfind /home -name a*.log -o -name b*:查找home目录下以a或b开头的文件

lfind /home -user root:查找home目录下属主为root的文件或文件夹

l按照文件的更改时间来查找文件,-n表示文件更改时间距现在n时间以内,+n表示文件更改时间距现在n时间以前

Ø查看文件

lcat:一次性查看文本,适用于文本内容比较少

²cat filename:一次性查看文本的全部内容

²cat filename1 filename2:一次性查看多个文本的内容

²cat -n filename:查看文本,并对输出的所有行编号

²cat -b filename:查看文本,并对输出的非空行编号

lmore:用于分页显示文本,适用于文本内容较多

²more -num filename:制定屏幕的行数

²more +num filename:从行号num开始显示

²more +/pattern filename:从字串(pattern)第一次出现行的前两行开始显示

²more -s filename:重复的空行压缩成一个空行

注:SPACE:显示接下来的k行文本

Q/q:退出

lless:用于分页显示文本,适用于文本内容较多

²less -N fileneme:显示每行的行号

²less -s filename:显示连续空行为一行

²less -i filename:忽略搜索时的大小写

²less -m filename:显示类似more命令的百分比

²less运行时可以输入的命令有:

u空白键:向下翻动一页

u[pagedown]:向下翻动一页

u[pageup]:向上翻动一页

u/字串:向下搜寻『字串』

u?字串:向上搜寻『字串』

un:重复前一个搜寻(与/或?有关)

uN:反向的重复前一个搜寻(与/或?有关)

uq:离开less这个程序

lhead:用于显示文件文字区块

²head filename:默认显示文件前10行

²head -v filename:显示文件名

²head -q filename:隐藏文件名

²head -n num filename:显示前num行文字

²head -n -num filename:显示除了文件最后num行外的所有内容

²head -c num filename:显示文件前num个字节的内容

²head -c -num filename:显示除了文件最后num个字节外的所有内容

ltail:用于显示文件文字区块

²tail filename:默认显示文件尾部10行

²tail -num filename/tail -n num filename:显示尾部num行

²tail -100f filename:动态显示最新100行内容

注:tail常被用来查看最新的日志信息,我们就可以用tail -f来实时查看日志信息。

lgrep:根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

²grep 'mysql' my.cnf:在my.cnf中查找含有mysql的字段

²grep -n 'mysql' my.cnf:在my.cnf中查找含有mysql的字段,同时显示出行号

lcut:选取命令,就是:将一段数据经过分析,取出我们想要的内容。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析。

²cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定File参数,cut命令将读取标准输入。必须指定-b、-c或-f标志之一。

²cut命令参数:

u-b:以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了-n标志。

u-c:以字符为单位进行分割。

u-d:自定义分隔符,默认为制表符。

u-f:与-d一起使用,指定显示哪个区域。

u-n:取消分割多字节字符,仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。

²cut常用命令:

uhttp://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html

l注意:Linux中head、tail、grep、cut、wc、sort等命令

四、用户和用户组管理

1、用户管理

Ø新增用户

luseradd :添加用户

lpasswd :设置用户密码

Ø删除用户

luserdel :仅删除用户

luserdel -r :删除用户及用户的目录文件

Ø查看用户:cat

/etc/passwd

2、用户组管理

Ø添加用户组

lgroupadd :添加用户组

lpasswd :设置用户组密码

Ø删除用户组

lgroupdel

Ø设定用户组密码

lgpasswd

Ø取消用户组密码

lgpasswd -r

Ø添加用户组成员

lgpasswd -a :添加的要存在

Ø删除用户组成员

lgpasswd -d

Ø查看用户组

lcat /etc/group

五、系统管理

1、进程管理

Øps命令:Process Status,用来显示当前进程的状态,通过ps命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。

llinux上进程有5种状态:

²运行(正在运行或在运行队列中等待),状态码:R

²中断(休眠中,受阻,在等待某个条件的形成或接受到信号),状态码:S

²不可中断(收到信号不唤醒和不可运行,进程必须等待直到有中断发生),状态码:D

²僵死(进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放),状态码:Z

²停止(进程收到SIGSTOP,

SIGSTP, SIGTIN, SIGTOU信号后停止运行运行):T

lps [参数]

²a显示所有进程

²-A/-e显示所有进程

²c显示进程的真实名称

²f显示程序间的关系

²u指定用户的所有进程

²-au显示较详细的资讯

²-aux显示所有包含其他使用者的进程

²--lines<行数>每页显示的行数

lps常用命令:

²ps -A:显示所有进程信息

²ps - ef:显示所有进程信息,连同命令行

²ps u root:显示指定用户信息

²ps -ef | grep mysql:ps与grep组合用法,查找特定进程

²ps aux:列出目前所有的正在内存当中的程序

uUSER:该process所属的使用者

uPID:该process的编号

u%CPU:该process使用掉的CPU资源百分比

u%MEM:该process所占用的物理内存百分比

uVSZ:该process使用掉的虚拟内存量(Kbytes)

uRSS:该process占用的固定的内存量(Kbytes)

uTTY:该process是在哪个终端机上面运作,若与终端机无关,则显示?,另外,tty1-tty6是本机上面的登入者程序,若为pts/0等,则表示为由网络连接进主机的程序。

uSTAT:该程序目前的状态

uSTART:该process被触发启动的时间

uTIME:该process实际使用CPU运作的时间

uCOMMAND:该程序的实际指令

²根据CPU使用来升序排序:ps aux --sort -pcpu

²根据内存使用来升序排序:ps aux --sort -pmem

²ps与head、less等组合:ps aux |

head -n 20、ps aux | less

²如果想要查看现在有谁登入了服务器:ps -eo pid,user,args,参数-e显示所有进程信息,-o参数控制输出。Pid,User和Args参数显示PID,运行应用的用户和该应用。

²我们可以将ps命令和watch命令结合起来,动态显示系统进程信息。这么种情况:

watch -n 1 ‘ps -aux --sort -pmem, -pcpu,通过CPU和内存的使用率来筛选进程,并且希望结果能够每秒刷新一次。这样与top相比,使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。

Øtop命令:实时显示系统中各个进程的资源占用状况,包括进程ID、内存占用率、CPU占用率等

ltop

[参数]

²-d

<时间>:设置间隔时间

²-u <用户名>:指定用户名

²-p <进程号>:指定进程

²-n <次数>:循环显示的次数

ltop常用命令:

²top

²top -d 5 / top -u root /top -p 22 /top -n 10

²top交互命令:

uk终止一个进程

uq退出程序

us改变两次刷新之间的延迟时间(单位为s)。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5 s

uM根据驻留内存大小进行排序

uP根据CPU使用百分比大小进行排序

uT根据时间/累计时间进行排序

Økill命令:结束进程

lkill pid:结束进程

lkill -9 pid:强制结束进程

Ønetstat:用于显示各种网络相关信息

netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

lnetstat命令常用参数:

²-a:显示所有选项,默认不显示LISTEN相关

²-t:仅显示tcp相关选项

²-u:仅显示udp相关选项

²-n:拒绝显示别名,能显示数字的全部转化成数字。

²-l:仅列出有在Listen (监听)的服务状态

²-p:显示建立相关链接的程序名

²-s:按各个协议进行统计

²-c:每隔一个固定时间,执行该netstat命令。

²提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

lnetstat常用命令:

²列出所有端口:netstat -a

²列出所有tcp/udp端口:netstat -at /netstat -ut

²只显示监听端口:netstat -l

²netstat输出中显示PID和进程名称:netstat-p

²持续输出netstat信息:netstat -c :默认每秒更新1次

²找出程序运行的端口:netstat -ap | grep ssh

²找出运行在指定端口的进程:netstat -apn |grep 80/netstat -apn | grep ':80'

l举例场景:服务器上Tomcat 8080端口起不来,老提示端口已经被占用

²第一步:ps -aux | grep tomcat

发现并没有8080端口的Tomcat进程。

²第二步:使用命令:netstat –apn

查看所有的进程和端口使用情况:最后一栏是PID/Program

name,发现8080端口被PID为9658的Java进程占用。

²第三步:使用:ps -aux | grep java或者直接使用:ps -aux | grep pid查看,就可以明确知道8080端口是被哪个程序占用了!最后判断是否使用KILL命令干掉!参见:http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

lnetstat参见:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

Øsync:强制将内存中的文件缓冲内容写到磁盘

lLinux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。

llinux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。此时如果重启系统,就可能造成数据丢失。sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。

2、磁盘管理

Ø磁盘管理:df查看磁盘使用情况,du查看目录/文件大小

ldf:用来检查linux服务器的文件系统的磁盘空间占用情况。我们可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

²df -a:显示所有文件系统的磁盘使用情况

²df -h:以人类易读的格式输出

²df -h /dev/sda1:显示特定文件系统已使用的空间

²df -T:显示所有文件系统的类型

²df -k:按块大小输出文件系统磁盘使用情况

²df -h --total:显示所有文件系统的磁盘使用情况汇总

²df -t ext4:显示特定文件系统类型的信息

²df -x ext4:用来在输出中排出某些文件系统类型

²参考:https://linux.cn/article-6466-1.html

ldu:检查目录或者文件所占空间

du与df命令不同的不同du命令是查看当前指定文件或目录(会递归显示子目录)占用磁盘空间大小。

²du all.log:显示指定文件所占空间

²du /zff/installpkg:查看指定目录的所占空间

²du -ah log:文件和目录都显示

²du log1.tar.gz log2.tar.gz:显示多个文件所占空间

²du -c /var/log /usr/local:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

²du -s:只显示总和的大小

²du | sort -nr | more:按照空间大小排序

²du -h  --max-depth=1:输出当前目录下各个子目录所使用的空间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,134评论 2 34
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,156评论 9 467
  • (一)基本命令 命令格式: 命令 参数 1.ls 显示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飞羽孟德阅读 1,870评论 0 3
  • 十六国时期的胡夏国在公元426年被北魏攻陷都城,皇帝被俘,而这两个国家的纷争几乎从一百年前就已经开始了。 公元32...
    寒七琪阅读 711评论 0 0
  • 最近写东西不再那么勤快,是因为不想给自己设立目标了。之前有着在简书上两万字的目标,所以就比较废寝忘食,对于一个宝妈...
    落英冰封阅读 200评论 0 3