linux系统常用命令(超详细讲解)

目录处理命令ls

命令格式                           

命令选项参数

ls    -la    /etc

对于命令的说明:

1.存在简化选项与完整选项

例如  -a等于 - -all  (一个用一个-调用 一个是用两个-调用的)

2.当有多个选项的时候是可以写在一起的

例如 -l 和–a可以写成 -la 而且部分命令还可以不区分先后顺序

3.个别的命令也可以不遵循命令的格式

 


Ls显示当前目录文件如果我们想看的不是当前目录则可以用ls加上指定的任何一个目录

例如 ls /  就是列出根目录下的目录

linux  .  开头的是隐藏文件(可以理解为系统文件没事的话不要动)

如果想将一个文件隐藏可以将其改名改成前面加一个 . 即可

 

ls-lh 选项h的作用其实就是将字节显示为多少k或者多少m

 

ls-l /etc查看etc目录下的文件但不包括etc这个目录我们可以使用ls -ld /etc来查看目录的详细信息

 

-t是将文件按照最后修改时间排序       ll -t(最后修改时间排序显示详细信息)

-r是将文件按照最后修改时间倒序来排    ll -r(倒序显示详细信息)

当然这些命令都是可以组合起来用的 ls -lr这个命令也是可以用的意思是将文件按照倒序排列并且显示详细信息(其实就等于ll -r

-i可以查看文件的i节点(对文件进行操作的时候linux内核其实是识别文件的identity节点)

例如我们需要在tmp下创建一个目录(创建目录尽量不要在根目录下创建)

mkdir/tmp/xuchang

如果我们想再在xuchang里面创建一个子目录那么mkdir久用不了我们就需要用到-p这个选项来创建xuchang下的目录

正确示例:mkdir -p /tmp/xuchang/Chunqiu

错误示例:mkdir /tmp/xuchang/Chunqiu(因为事先我们的xuchang目录就不存在)

 

Linux命令行的好处在创建目录的时候可以同时创建多个目录

 

例如mkdir /tmp/xuchang /tmp/huangqun /tmp/huohongjian

就可以在tmp下创建徐畅黄群霍宏健这三个目录

 

 

cd.表示当前目录

cd ..返回当前目录的上一级目录

cd -返回你刚操作过的那个目录

cd加上指定目录 就可以切换到那个目录

pwd用于显示当前所在目录的绝对路径

需要删除一个目录可以用rmdir(注意它删除的是一个空目录)

比如我们xuchangxuchangqwe这个目录不是空目录所以我们删除的时候会提示目录不是空的,但是jkl这个目录是空的就可以用rmdir进行删除

注意它删除的时候并不删除上一级目录例如 rmdir /tmp/xuchang/1仅仅是删除了xuchang目录下的目录并不会删除xuchang目录

cp的用法cp+要拷贝的目录或文件+你要拷贝到的那个目录

 

cp -r用户复制目录(用cp命令直接复制目录是没用的会提示略过目录)

一开始我们可以看到huangqun目录下是没有任何东西的我们用cp -r这个命令就可以将xuchang下的2目录复制到huangqun这个目录下

 

 cp命令也可以同时复制多个文件

例如cp /root/anaconda-ks.cfg /root/install.log/root/install.log.syslog /tmp/huohongjian

将家目录下的三个日志文件复制到tmphuohongjian目录下

 

 

如果我们加上-p这个参数我们就可以保留文件的属性,因为我们在复制一个文件到一个目录的时候相当于在目标目录下新建一个文件所以会出现 文件的最后修改时间或者创建时间 如果我们直接用cp的话就是下面这样 时间上不一致

 

当我们用cp -rp的时候我们可以清楚的看到我们把xuchang目录下的2和3复制到xubinxiang目录下利用ll -d查看其目录属性的时候都是3.20表面我们的做法是正确的

 

 

 

Linux命令行还可以在对文件进行复制的时候改名如上图的命令cp -r /tmp/wangkang/tmp/nieyilei/wangkang18  我们在复制wangkang目录到nieyilei目录下的时候可以直接对wangkang进行更名为wangkang18

 

 

 

mv命令和cp命令用法一致(但mv不需要加-r什么的)

我们首先递归创建 xuchang目录下的两个子目录1和2 然后我们用mv /tmp/xuchang/1 /tmp/xuchang/2 /tmp/huangxiaojia把1和2目录剪切到huangxiaojia目录下

剪切的时候改名是一样的只需要在后面加上要改的名字即可。

如果我们直接在某个目录下移动文件其实也就是相当于改名  mv + 名字+要改成的名字

 

rm命令可以直接用来删除文件但是不可以删除目录

我们在nieyilei目录下看到了一个install.log和一个wangkang18的目录我们用rm可以把这个文件删除。

但是有看到我们rm wangkang这个目录的时候是删除不了的因为我们没有加语法-r

每次删除的时候系统会问我们是否要删除如果不想提示的话我们可以加上语法-f  利用

rm -f就可以避免系统的提示(f是force强制的意思)  当一个目录里面很多目录的时候我们不加f会出现下列情况(一直问你是不是要删除那个目录)

 

一般我们最常用的是rm -rf直接删(rm -rf *就可以直接删除tmp下的所有文件)

 

touch命令可以用来创建文件

touch的用法 和cp mv等是一样的 该加绝对路径创建的时候就要加上绝对路径 只不过 linux系统中对(空格键)是有要求的 比如我们想要创建uzi空格caomei 利用touch uzicaomei创建的并不是uzi空格caomei而是 uzi和caomei这两个文件

我们在家目录下touch /tmp/uzi /tmp/caomei是可以在tmp下创建uzi和caomei文件的

 

如果想要创建带空格的文件必须使用双引号(但一般不建议用对以后的操作会很麻烦)  例如 touch ”uzicaomei” 删除,切换查询….的时候也是一样  例如删除rm “uzicaomei”

 

如果我们想要浏览一个文件的话我们可以使用cat命令(tac命令也是显示文件内容和cat正好相反一个正序显示 一个倒序显示)

加上-n是可以显示行号的在我们查看shell脚本的时候会很实用

 

 

当行数很多的时候我们可以用 esc  然后:加上行数就能到那一行

 

 

 

如果一个文件的内容很长(例如/etc/services)我们可以用more命令进行分页浏览显示

例如more /etc/services

 

more命令和less命令的区别

二者都可以用来显示文件内容

使用less命令来显示services的内容时,使用上(向上翻一行)下按键就可以进行上下翻阅然而在more命令中是不可以用的但是二者都可以使用pgup(向上翻页)和pgdn

less还有一个好处就是可以搜索 我们键入 /加上要输入的内容即可 就可以把搜索的内容用高亮标记  用小写的n可以接着往下找要找的词n(代表next

 

 

 

 

我们想查看前10行的时候我们就可以用 head命令来查看  即head -n 10/etc/services

 当我们直接使用head命令不指定行数的话 默认显示的也是10行(head/etc/services)

         tail的用法和head是一样的 可以指定也可以不指定

tail -f用于监控日志

tail -f /var/log/messages 加上语法f是可以查看动态日志的 比如我们配一个网卡  那么就会自动记录 这个日志就会显示我们配置的网卡信息 (一块网卡是可以配置多个ip的只需要在网卡后面加上:带上数字就可以)例如我们本机配置的网卡ip20.0.0.123 ifconfig eth0:1 20.0.0.129之后这个网卡就又多了一个ip 此时我们不仅可以连接20.0.0.123还可以通过129进行连接

 

我们可以把软链接理解为Windows的快捷方式 因为我们在Windows的桌面上创建的快捷方式本身就是一个链接指向 我们所创建的快捷方式其实只是指向我们的源文件:我们的安装目录。 linux中的链接文件是以字母l开头的,所有的用户都是rwx权限(因为这个权限并不决定了源文件的权限,执行的时候还是会指向源文件,所以源文件什么权限到最后某个用户对其执行的话就是什么权限虽然每个用户都给了rwx三个权限)

链接文件的字节是非常小的,即使源文件的字节很大,因为其实我们就是相当于创建了一个快捷方式,所以它并不指示源文件的大小,而是链接文件的大小。它最后的箭头是指向的源文件

 

 

但是硬链接是没有箭头指向的,连文件大小日期都是一样的,其实就相当于cp -p保留了文件属性的拷贝(即使源文件丢失硬链接也是可以访问的)。但是二者的区别是硬链接文件可以实时更新,但是cp -p的文件修改是不能实时更新的。下面我们做一下实验(为什么可以实时更新:因为我们对文件进行操作的时候在linux内核是对i节点进行操作,而硬链接的i节点和源文件的i节点是相同的,所以是可以实时更新的,i节点就相当于文件的身份证号码都是唯一对应的,但是一个i节点可能对应不止一个文件

上图我们可以看到我们用echo命令在配置文件的欢迎信息里面写入xuchangisaluckydog  

echo        "xuchangisaluckydog">>/etc/issue

我们分别查看源文件和硬链接文件他们都是多了一个xuchangisaluckydog

 

从这个图中我们可以看出 我们删除硬链接文件之后把issue文件再cp -p到tmp下之后 查看源文件和拷贝的文件 他们都是只有xuchangis的但是我们写入huangqunis的话在查看就只有源文件更新了,我们cp -p过来的文件还是只有xuchangisaluckydog

上图我们可以看出源文件和硬链接文件的i节点都时261154而软链接文件的i节点是791123

我们也可以通过这种方法来判断这个文件是不是一个硬链接文件

硬链接文件不能跨分区,不能针对目录使用。但是这两点软链接都是可以的。

文件权限管理命令的用法

ugoa代表用户的身份 u代表所有者 g代表所属组 o代表其他人 a代表all所有

+代表增加权限 -代表去掉权限 =代表不管以前什么权限,现在就得是改的这个权限

r代表可读 w代表可写 x代表可执行

比如我们对shenchao.list这个文件进行权限的更改,chmod u+x /tmp/shenchao.list就是代表我们要对shenchao.list的u所有者加上可执行的权限

我们也可以批量更改权限只需要加上,作为分隔符就可以例如 chmod g+w,u-r /tmp/shenchao.list就是给g所属组加上可写 所有者u去掉r可读的权限

从上面的图可以看出shenchao.list的权限被我们用 =之后给o其他人赋权rwx 之后o的权限就变成了rwx 根本就不用考虑它之前是什么权限,直接=加上权限就行。

 

 

 

我们用的最多的还是数字的表示r就是4      w就是2     x就是 1  rwxrwxrwx就代表777  如果我们chmod 777就代表给这个文件赋予rwxrwxrwx的权限   rw-r-----这个代表的数字就是640   如果没有权限的话用0表示

 

如果一个目录下有很多目录和文件我们用chmod修改其权限的话它下面子目录的权限是不变的如果我们想把这个目录下的所有文件都修改成777权限的话这时候我们可以用语法-R来进行递归修改(chmod -R 777 /tmp/a这就代表 a和a目录下的所有目录文件(b)都会改为777权限)类似于我们mkdir -p递归创建

例如我们递归创建tmp下的a和a下的b目录,他们的权限默认为rwxr-xr-x 

我们chmod 777 /tmp/a 则a的权限变为rwxrwxrwx 而b是不会变的还是之前的rwxr-xr-x

这是用chmod -R修改为666的结果

 

 

 

新增用户的命令useradd 赋予或修改密码的命令passwd

 

之后我们就可以用crt登陆了主机名不变 用户名为自己创建的用户名

普通用户的提示符是$       root用户的提示符是#

 

File文件    r : cat  more  less  tail   head

      w: vim

      x :  command script

 

directory 目录     r: ls

                 w: touch  mkdir rmdir  rm

                 x:  cd

 

我们在根目录下建一个temp目录  但是如果我们不对他赋予777的权限 他是没有可以写的权限的 然而对于目录来说 有w的权限才可以进行删除文件 所以当我们切换到别的用户的时候 我们删除temp下的testfile文件的时候 是没有权限的 

但是之后我们对temp目录进行写权限赋予后我们再去删除就可以在temp下删除testfile文件了

删除一个文件的前提是我们对这个目录有写权限的时候才能删除这个目录下的文件

所以我们要正确理解  rwx对于文件和对于目录的不同含义。

在linux中对于目录来说r和x权限基本上是并存的不可能说你能列出来有哪些东西但是进不去

只有两个用户可以改变文件的权限第一个是文件的所有者o第二个就是root用户。但是更改文件的所有者chown的时候只有在root下才可以进行(chown加上要改成哪个用户加上文件名)

我们在huangqun用户下创建 adcd文件   因为abcd的所有者是huangqun所以赋予权限是可以进行的

我们在huangqun用户下更改abcd的所有者为root 即使abcd这个文件的所有者是huangqun也是不可以进行更改的

我们touch abcd的时候并没有指定abcd的绝对路径。而是直接在~下创建的 ~就是代表这个用户的宿主目录即/home/huangqun(二级目录)

这个就是把huangqun的 abcd所有者改为xuchang的

用法和chown一样增加用户组的命令是groupadd 和增加用户的命令useradd一样好记

我们新建一个组叫huohongjian  然后我们改变 abcd的所属组为huohongjian

一个所属组可能有很多成员如果我们许多用户都想对 abcd有更多的权限我们就可以对abcd文件增加组的权限 chmod g+想要的权限加上文件路径 这样huohongjian这个组里面的每个成员都可以对文件有w的权限了(chmod g+w abcd 给abcd文件的组加上写权限)

 

文件的所有者和所属组是哪来的?

所有者很简单,谁创建的这个文件谁就是这个文件的所有者

所属组:一个用户可以属于多个组,但是每个用户有且只有一个缺省组

每个用户创建文件的时候,这个文件的所属组就是这个文件创建者(也就是这个用户)的缺省组。

 

umask -S可以显示新建文件的缺省权限

这是我们新建的目录的权限就是会和umask -S的权限是一样的。

但是在linux权限管理中,缺省创建的文件是没有可执行权限(x)的,所以和umask -S的值rwxr-xr-x不一样(每个都少了一个x

 

若果我们直接键入umask 我们会看到一个数字的值0022

0022中的第一个0代表一种特殊权限

后面的022分别代表u  g  o三种用户的权限

如果不加-S的参数我们看到的umask的值的权限实际上是通过逻辑与的方式来算去权限的。算法在下面

先写出777的权限进行比对

777 rwx rwx rwx

022 --- -w- -w-

-----------------

755  rwxr-x r-x (目录的权限)

     rw- r-- r-- (二进制文件的权限)

那么实际上这个文件的权限是 rwxr-x r-x  (这些说的都是目录,文件的话就都去掉x就可以了)

用逻辑与的关系进行运算得出结果(逻辑与:相同的不表示)

也就是说虽然我们看到的umask的值是022,但是我们实际上创建目录的权限是755

 

 

如果我们想改变创建文件或者目录的缺省权限的话就反过来做即可

 

例如我们默认创建的文件的权限是755 rwx r-x r-x (umask-S的值)我们想把它改成700(rwx --- ---)我们只需要做如下运算算出umask的值就行

 

777  rwxrwx rwx                 第一步写出777

077  --- rwx rwx                第三步与运算写出得到的权限,再写出其对应的数字077

------------------------------             

700 rwx - - - - - -                  第二步写出我们想得到的权限

 

最后我们在用umask 077 这个命令就可以更改创建文件的缺省权限了如下图huangbo这个目录的权限已经被我们改成(700 rwx --- ---)了

 

尽量少用搜索这个命令,因为搜索会占用大量的系统资源,尤其是在服务器高负荷的时候,所以这就要求我们在规划服务器的时候,要规划好目录结构,以及后续养成不要把文件乱放的习惯。搜索的条件越精准越好,搜索的范围越小越好。

find /etc -name init  这个命令 就是以文件名查找,和Windows不同的是linux搜索的非常精准 如果我们在Windows里面搜索init 只要是有init这个关键字的所有文件都会被列出来,但是linux中不会而是只列出来 init多一个少一个字母的文件都不会被列出来。

 

*星号匹配任意字符的意思就是加上* 你可以搜无数个字符有多少搜多少

?问号匹配单个字符的意识就是加上一个?你可以搜init后面一个字符的文件两个?可以搜索init后面两个字符的文件

 

如果想和Windows一样做模糊搜索只要文件名带有init的都列出来也是可以的这时候我们就要用到一个通配符 *    *可以匹配任意字符包括0  命令 find/etc -name *init*即可,意思是只要文件中包含init这四个字母的都被列出来

 

find /etc -name init*  这个命令表示 我们要查找所有的以init开头的文件

 

如果我们要搜索一个文件init开头的我们还知道他后面有三个字母我们就可以用?来进行搜索

find /etc -name init???       问号?匹配单个字符  

我们常用的两个通配符就是* ?  

 

我们知道linux系统中搜索的时候是会严格区分大小写的,如果我们想大小写都搜出来的话就可以使用iname这个选项

我们先在etctouch 一个INITTAB文件然后我们用name搜索是搜不到这个文件的 iname就可以

 

我们也可以指定文件的大小进行搜索在linux系统中文件存放的最小单位是数据块

1数据块默认是512字节(b)即0.5k 那么两个数据块就是1K 所以1k就是两个数据块

1k=1024b 所以512b=0.5k

100MB=102400KB=204800数据块

简单的就记住换成多少M 直接乘以2048就得出数据块的数目

find / -size +204800(查找根目录下大于100M的文件)

三种指定的方式   +代表大于多少 -代表小于多少  什么都不用代表等于多少

 

根据所有者来查找-user、根据所属组来查找 -group即可

find /home -user xuchang  在根目录下查找所有者为xuchang的文件

 

 

 

 

 

 

 

 

 

 

 

根据时间属性来查找

 

同样时间的指定用+和-    -5表示5分钟以内  +5表示5分钟以上的

文件属性就是ls -l查出来看到的东西

 

find /etc -min -50在etc目录下查找50分钟内被修改过内容的文件或者目录

这个就是我们在不区分大小写搜索的时候修改过etc的内容

find查找命令比较常用的两个选项是-a-o

-a选项表示 and 并且的意思

-0选项表示or 或者的意思两个满足任意一个即可

 

find /etc -size +163840 -a -size -204800 查找/etc下面大于80并且小于100的文件

 

 

find /etc -name init* -a -type f  查找etc下面以init开头的文件  

find /etc -name init* -a -type d 查找etc下面以init开头的目录

 

用法如下find /etc -name inittab -exec ls -l {} \;

-exec或者-ok加上 要操作的命令加上{} 加上\加上 ;

用-exec连接一个命令这个命令对查找的结果进行什么操作的,{} \; 这个是固定的格式

{}这个花括号代表对查找出来的文件的一个整合

\代表转意符

;表示结束

find /etc -name init* -a -type f -exec ls-l {} \;

这个命令的意思就是在etc下查找以init开头的文件并且显示他的详细信息

-ok和-exec的区别就是-ok会一直询问是否查看 -ok我们可以在删除的时候用 因为删除是一个非常谨慎的操作

find /home -user xuchang -ok rm {} \;

这样我们就是删除所有xuchang的文件并且询问

 

 

 

 

-inum可以根据文件的i节点来查找

比如我们touch一个uzi shuiage的文件我们要删除的话 就可以用rm”uzishuaige”来删除(””的作用是将其连起来变成一个整体) 但是当我们不知道这个文件之间有空格的时候或者一些其他奇形怪状的文件名 我们用rm怎么删除呢 是删除不了的。

这时候我们就可以先查看文件的i节点(ls -i)然后用 -exec连接rm命令进行删除

.代表当前目录  所以我们find . -inum789130 -exec rm {} \;(当前目录下查找i节点为789130的一个文件或者目录并且删除它)

 

locate命令类似于Windows下的everything软件可以实现非常快速的查找搜索

使用放大就是locate 加上文件名就可以

但是对于新建的文件在文件资料库里面是查不到的所以我们可以使用updatedb这个命令来更新一下资料库再进行查找。这时候我们就可以看到是可以找到的了。(但是注意的是文件资料库里面并不收录存放临时文件tmp目录下的文件,也就是我们创建文件的时候如果在tmp下创建 updatedb之后locate也是搜不到的,但是locate对于查找系统文件还是提供了一种非常快速的查找的方法

locate -i查找的时候不区分大小写

which是一个更精确的查找命令

which cp which useradd查找出来我们就可以知道这个命令的绝对路径以及谁可以用。还可以看到这个命令的别名 cp=cp -i

实际上我们在敲rm的时候系统会自动去寻找rm的全名rm -i  i的作用就是询问确认。但是如果我们键入/bin/rm /tmp/zanzan 就不会询问而是直接删除

这个命令不仅可以列出命令所在位置还可以列出这个命令的帮助文档的路径

man manual(操作说明)的简写就是我们熟知的man命令

grep这个命令可以在文件内容中进行一个搜索并且列出他的那一行

比如我们想查找inittab文件中关于multiuser相关的东西

我们就可以用grep命令加上你查的字符串(关键词)加上文件

即grep multiuser /etc/inittab 这时候系统就会列出来这个关键词在inittab里面的位置

出来的结果和我们用more命令查看的一致

-i是不区分大小写 即grep -i  multiuser /etc/inittab

我们查看inittab配置文件的时候这些行前面都有#井号

在linux系统的配置文件里面或者是shell脚本里面井号#都是表示注释的意思。

#开始的行都是注释行并不是有效的配置文件的设置行或者是脚本的代码行,只是一个注释,一个描述,告诉你一些这个配置文件的相关信息

在我们对一个配置文件足够了解的时候我们不需要看它的注释行只要看它本身主要的选项的时候我们就可以用grep -v来实现,命令如下

grep -v # /etc/inittab这个命令的意思就是告诉grep排除只要有#的行。

但是有的注释不是写在开头的,而是写在中间的,那么我们在查找shell脚本的时候,我们就得不到完整的信息了,因为在#之前的有效行也被排除下去了,如果我们想去掉以#开头的注释行去掉我们就要加上表示行首的^  即grep -v ^# /etc/inittab  告诉grep排除以#开头的行。

man命令在linux中代表的是manual即手册页的意思。man不仅可以查看命令的帮助信息,还可以查看配置文件的帮助信息。

空格:翻页回车:一行一行往下翻  q:退出

如果我们想快速定位到我们要知道的哪个选项的意思我们就可以用/加上要看的选项来查看即可,然后 n 来进行查找找到所有和-l相关的选项

man还可以查看配置文件的帮助信息

使用格式是man直接加配置文件的名称就可以不要使用man 加上配置文件的绝对路径(加上绝对路径是显示这个配置文件的信息了)

 

 

配置文件的格式

Service -name 和port和protocol 和aliases 是四个组成部分 分别代表 服务名称 端口 传输协议以及别名  这时候我们回过头去看这个配置文件就很清晰了 more /etc/services

我们可以看到 ssh远程的协议是22端口和我们用crt连接的时候的协议是一样的。

ftp后面的是他的别名 fsp fspd

 

对于一些比较特殊的命令或者配置文件类似于passwd

我们whereis命令可以看到这是一个命令同时它也是一个配置文件而且命令和配置文件的路径都已经给出然而对于man命令来讲查看配置文件的帮助信息是不能加绝对路径的,我们man passwd 显示的是什么呢?

系统优先查看的是命令的帮助信息,但是我们作为了解要知道的是1 是命令的帮助 5是配置文件的帮助     那我们怎么查看配置文件的帮助信息呢   man 5 passwd 即可

一些小的命令也可以帮我们快速查看命令是干什么用的

whatis加上命令的名称可以直接列出一个命令name那一行的解释(简短的介绍信息)

apropos加上配置文件的名称可以快速查看配置文件的简短的介绍信息

如果我们只想查看一个命令的选项我们可以用命令加上 - -help

比如我们想知道touch的选项  我们touch - -help

如果我们想修改系统时间但是不知道格式我们可以 man date

这样我们就修改好系统时间了

help的意思是可以查看shell内置命令的帮助信息。

我们用which找不到的命令都是shell内置的命令例如 cd、umask、pwd等等

我们man cd或者umask 的时候只是显示的是bash的。

只有root用户可以使用过于简单的密码其他用户自己修改密码的时候必须符合复杂度要求否则修改不成功。

由于linux系统是一个多用户系统可以同时很多人操作,那我们怎么知道谁在操作呢?我们可以使用who命令来进行查看

第一部分是登陆的用户名(xuchang  root)   

第二部分是登陆的终端   tty表示本地终端:就是在我们本地登陆的终端,简单的可以理解为虚拟机上的终端,因为我们是用192.168.30.2(secureCRT远程登陆)去登陆的192.168.30.1。(本地登陆)pts表示远程终端用不同的数字终端号来区分不同的终端

第三部分是登陆的时间    记录这个用户是什么时间登陆的  2018-04-06 17:23

第四部分是登陆的主机的ip地址  192.168.30.1  可以看到是从哪台主机登陆过来的,如果没有写就表示本机登陆的。

 

 

如果我们在本地虚拟机终端输入exit 这时候再用who命令看看就没有这个终端了

如果我们想得到更详细的信息可以使用w命令

17:39:12    表示当前系统时间 

up      表示当前linux系统已经连续运行了多少时间没有重启或关机了               和uptime得到的是一样的

2 users     表示当前几个用户数

load average: 0.00, 0.00, 0.00   表示负载均衡的指数   这个指数有三个数值,分别记录了过去的1分钟 5分钟 15分钟 系统的一个负载情况 这三个数值加起来除以3就是平均数了

一般来讲系统的负载值主要指一个系统的cpu和内存的负载情况。

IDLE表示用户登录过来已经空闲多久了  0.05S表示我刚刚还执行了一些操作

JCPU  指的是累计占用的CPU时间

PCPU 指的是这个用户 当前执行操作占用的cpu的时间

WHAT 代表用户当前执行了什么操作  如果什么都没有执行 就在shell的解释器的界面上正在等待执行。

解压缩出了gunzip还可以使用gzip -d这两种方法都行

Linux系统中压缩比还是很惊人的 直接从628k压到了128k

注意事项:

1:生成的压缩格式为.gz

2:但是gzip不能压缩目录只能压缩文件

3:而且压缩的时候不保留源文件。

如果我们想压缩目录,我们就可以用tar进行处理。

用法:tar -vcf wy.tar wy             打包

      tar -zcvf wy.tar.gz wy           打包同时压缩

我们可以看到tar命令只能解压tar归档的压缩包,不能解压.gz格式的。

解压之后源文件依然会存在

Linux系统中的压缩包 在Windows系统中基本上都能支持解压,但是Windows中的压缩包想要拷到linux 中必须再安装相应的软件才能进行解压,但两个系统中有共同支持的一个格式就是.zip格式,所以我们想要把一个Windows中的压缩文件拷贝到linux中的时候就可以先压缩成.zip格式的而不是前面所讲的.gz或者.tar.gz格式的。

 

1zip压缩的文件能保留源文件,和Windows一样,压缩包是压缩包,源文件是源文件。

2:加上-r的选项可以压缩目录。

3:解压也一样,解压之后压缩包依然存在

解压的时候直接unzip加上文件名就可以解压文件。

解压目录也是一样,并不需要加-r选项,直接unzip加上目录名就行了

 

bzip2是gzip的升级版本,而且bzip2的压缩比更加惊人,比gzip还要高,常常用来压缩比较大的文件。bzip2可以和tar一起来使用,只是将zcvf 选项中的z替换为j 变成jcvf了。

解压缩和gunzip的用法一样,bunzip -k 加上压缩包的名称,而且也可以和tar一起使用,将c替换为x即可变成了xjvf

 

这是一条给在线用户发信息的命令。

我们写错的时候可以按住ctrl+删除键删除保存的时候 ctrl+D 进行保存。

 

root身份登上来好几个,想给那些人发消息的话,加上登陆的终端如下图,就可以发送过去。

包括自己都能收到这条信息,

Linux中默认是一直ping 的如果想终止 可以用ctrl+c。也可以指定次数ping。

用法 ping -c 5 192.168.30.2(指定五次ping之后停止)

Packet loss是丢包率的意思,如果丢包率非常高即使网络能ping通 那页代表网络非常差。

Ifconfig查看的网卡信息,就linux来讲计算机默认有两块网卡。eth0代表本地的真是网卡并按照数字的方式依次类推,如果有第二块网卡就是eth1第三块就是eth2。

Lo代表的是一个回环网卡,他的回环地址是固定的,任何一台机器都是127.0.0.1

Ethernet:代表我的网络类型是以太网

HWaddr 00:0C:29:34:B6:C1   这个是我们网卡的硬件地址 就是俗称的MAC地址(用16进制表示的48位的地址位)

inet addr:192.168.30.2  这个是当前计算机的ip地址

Bcast:192.168.30.255  当前网络的广播地址

Mask:255.255.255.0    子网掩码

inet6 addr: fe80::20c:29ff:fe34:b6c1/64Scope:Link   这个是ipv6的地址信息

UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1 这是我的网络的一些附加信息

RX packets:10884 errors:0 dropped:0overruns:0 frame:0    接收到的数据包的总数量

TX packets:8170 errors:0 dropped:0overruns:0 carrier:0  发送的数据包的总数量

collisions:0 txqueuelen:1000               网卡在内存中的物理地址

RX bytes:904196 (883.0 KiB)               接收的数据包的总大小

TX bytes:2563115 (2.4 MiB)               发送的数据包的总大小

mail命令的用法

发送:mail加上要发的用户名,不管用户在线不在线,都会收到邮件。

接收:mail 什么也不跟回车就可以接收

 

用法和writewall一样都是ctrl+d结束

 

N的标志是未读的邮件   发送者    后面是发信的时间   发信的标题

我们在mail之后的界面用help命令然后 第几封邮件 就可以直接查看邮件内容

不必再cat/var/spool/mail进去看了

h键就又可以看到那个邮件的列表了

删除的话用d 加上序列号,然后h  然后 q键退出。

这个命令可以帮助我们列出所有用户登录的时间信息,以及重启时间,我们可以用过它判断我们的计算机什么时候重启过,如果不是在我的计划之内重启的,那么就有可能是比人进来重启过。

如果只想看到这个用户最后一次登录的时间可以使用lastlog

 

我们跟踪路由的时候可以解析出新浪的ip地址然后从本机网络的最后一个节点出去,最后到新浪经过了哪些节点,如果某一个节点返回的时间过长,证明这个节点可能是有问题的。如果有一天不能访问新浪了,直接从第一个网络断了 那就是公司网络的问题,可以直接处理,如果中间的某个节点断了,证明这个节点可能有问题。

Tcp协议安全因为涉及到三次握手,但是udp协议快,比如我们qq发送消息用的就是udp协议,而http服务用的则是tcp协议。 Tcp类似于打电话,udp类似于发短信。可以这么简单的去理解

Ip地址相当于宿舍门牌号,端口号相当于床位号。端口号一般都是固定默认的。通过判断本机开启了哪些监听端口来判断本机开启了哪些服务,因为每个服务对应的都是唯一的一个端口号。 Tcp是有监听的,udp没有监听,可以理解为比如发短信的时候不管你在不在能不能收到,我就是发,不管你收不收的到。

路由列表可以查看到网关

 

 

22就是我们ssh服务的端口  -tlun只能查看监听 -an可以查看正在连接的程序。

ESTABLISHED正在连接或者已经连接  发起端口随机的 59595

 

Setup是红帽系列特有的

setup配置的ip地址是永久生效的

配置完成之后记得重启网络服务 service network restart

 

mount的作用就是把我的设备连接到我给它分配的挂载点。挂载点可以当成盘符来理解

只是在linux中挂载点就是一个目录Windows中是 C D E F

分区都是自动挂载,只要安装了系统,分区了,,每次启动就不要手动去挂载。但是linux光盘 u盘不能自动挂载,只能手动挂载。不是很只能,但是Windows 你插进去u盘系统一会就会自动挂载(给你分配一个盘符)就像下面这样

 

只是linux中需要使用mount命令去手动挂载

挂载的步骤      (挂载其实就是找到这个硬件,给他分配一个设备文件名,再给他找一个盘符,然后用命令把他的设备文件名和盘符连接起来)

 

1:先创建一个挂载点(一个空的挂载目录)   mkdir /mnt/cdrom  随便建也可以建在/下面

2:现在就可以进行挂载了,挂载命令mount-t 后面指定光盘的文件系统 iso9660  后面写它的设备文件名称 最后写挂载目录 (mount-t iso9660 /dev/sr0 /mnt/cdrom/) -t可以省略

 

设备文件名哪来的?系统默认指定的设备文件名 记住就行

 

卸载挂载点的命令:umount/dev/sr0   但是卸载的时候不能在光盘挂载点下面卸载

会提示你busy  要回到宿主目录进行卸载挂载点

关机:shutdown-h

立即关机:shutdown-h now             现在重启:shutdown -r now

定时关机:shutdown-h 20:30            定时重启:shutdown -r 20:30

其他关机命令:halt、poweroff、init0

其他重启命令:reboot、init6

运行级别代表我们linux启动时可以进入的级别号,

123这三个级别是没有图形界面的

1类似于Windows的安全模式(Windowsf8),即启动最小的核心程序。

2是不包含NFS服务的命令行 networkfilesystem 用于两台linux服务器的文件共享服务

3是完全的命令行

Init进程的配置文件存放在/etc/inittab

如果我们对配置文件进行修改的话,将id:3:initdefault:改为id:5:initdefault:的话我们开机就会直接进入图形界面。(前提是装了图形界面)如果修改为 0或者6就会一直关机重启,但是不允许设为运行级别

runlevel可以查看运行级别

 

 

只要进入vi回车进入命令模式,我们所输入的任意一个字符,系统都会当做命令来处理。

Vi 后面可以跟已有的文件,也可以是我们创建的文件。

插入命令一共有三个  i  a   o         esc键由插入模式回到命令模式

由命令模式进入编辑模式 按   

编辑模式下显示行号的命令  set number 或者简写set nu

 

比如我们一个配置文件的第800行有错误 我们怎么去看呢 ,就可以用到以上命令。(这些都是在命令模式下操作的)

 

想删除999到1006行的命令  :999,1006d

R进入替换模式 REPLACE   按ESC可以结束

如果一个文件的被设置成了只读权限,那么就只有root用户可以用:wq!来进行保存退出

我们对services文件权限进行修改 去掉写权限,我们按i插入会出现提示只读,

这时候我们保存的话会提示文件被设置只读权限了可以加上!强行保存 即:wq! (只有root和文件所有者可以)

 

 

 

常用的也就是  i   set nu dd   x  /  n    :w  :wq     :q!


(自学兄弟连视频教程自己写的 ,侵删。)

 

 

 

 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页