基础命令

简单的命令行

ubtun系统默认是没有激活root用户的,输入如下命令:sudo passwd

cal是日历,显示指定月份的日历是cal 9 2012,显示2013年日历是cal 2013。星期一显示在第一列是cal -m。

man是操作说明的简写。

等级

run level 0是关机,run level 3是纯命令行模式,run level 5是含有图形界面模式,run level 6是重启,和into一样。

clear是清空界面的代码(ctrl+l)      last是显示最近登录的用户信息

history是输入历史     shift加pgup和pgdn是翻页

一般文件用(-)表示,而目录文件用(d)表示,连接文件用(|)表示

文件的开头是“.”是代表这个文件是隐藏文件

在linux中设置文件名字的时候,最好不要使用一些特殊字符

绝对路径是根目录开头(/)的文件名或者名称,没有(/)的就是相对路径

而相对路径就是你当前所在路径的相对位置

删除中rmdir是删除空目录,而rm是删除文件或者目录

查看文件的类型是     file 文件或目录

SUID是4,SGID是2,SBIT是1.

locate是可以输入文件的部分名称就可以显示出来完整名称。

locate   文件名

 

exec 命令:前面可以加别的命令,前一个命令实现完以后在实现-来说exec后面的命令

 

 

 

Top

 

 

 

第一行数字是系统时间,1:33是系统运行的时间,User是有几个用户登录系统

第二行是tasks—任务进程,系统有84个进程,其中有一个运行,45个在休眠,stopped

状态的有0个,zombie(僵尸)状态的有0个。

第三行是cpu状态,0.3us是用户空间占用cpu的30%

      Sy是内核空间占用cpu的0%

      Ni是改变过优先级的进程占用cpu的0%

      Id是空闲cpu的百分比

      Wa是io等待占用cpu的百分比

      Hi是硬中短(hardware irq)占用cpu的百分比

      Si是软中断   

 查一下用户空间和内核空间

第四行是内存状态

10103860total是物理总内存

9804696free 是空闲内存

106672 used是使用中的内存

192492 buff/cache是缓存的内存量

第五行swap 交换分区

0total是交换区总量

0free是空闲交换区总量

0used是使用的交换区总量

9755868avail Mem是内存使用还剩多少

内存与Windows不同

 

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linuxfree内存会越来越少,但不用为此担心。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第七行是个进程的第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

 

 

在视图,按“1”,可监控每个逻辑CPU的状况:

id为1627的top进程被加亮了,可以通过敲击y键关闭或打开加亮效果。

敲击键盘x(打开/关闭排序列的加亮效果)

通过”shift + >”或”shift + <”可以向右或左改变排序列

Ps

 

 

 

 

Ps: USER域指明了是哪个用户启动了这个命令;
用户可以查看某个进程占用了多少CPU;
内存使用及其VSZ(虚拟内存大小)和RSS(常驻集大小):
VSZ表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
RSS指明了当前实际占用了多少内存;
STAT显示了进程当前的状态:
"S":进程处在睡眠状态,表明这些进程在等待某些事件发生--可能是用户输入或者系统资源的可用性;

 

rm

rm-f,   强转删除。

rm -i,    删除前询问

rm  -r, 指示rm将参数中列出的全部目录和子目录均递归地删除。

rm  -v, 详细显示进行的步骤 

删除文件file,系统会先询问是否删除。 rm +文件名

强行删除file,系统不再提示。 rm -f log1.log

删除任何.log文件;删除前逐一询问确认 rm -i *.log

将 test1子目录及子目录中所有档案删除rm -r test1

rm -rf test2 命令会将 test2 子目录及子目录中所有档案删除,并且不用一一确认 rm -rf  test2

  

mv命令是move的缩写,可以用来移动文件或者将文件改名

文件改名    mv test.log test1.txt

移动文件    mv test1.txt test3

将文件  log1.txt,log2.txt,log3.txt移动到目录test3中:

mv log1.txt log2.txt log3.txt test3   

将文件log1改名为log2,如果log2已经存在,则询问是否覆盖   

 mv -i log1.txt log2.txt

将文件log1改名为log2,即使log2存在,也是直接覆盖掉。

mv -f log3.txt log2.txt

目录的移动mv dir1 dir2 

移动当前文件夹下的所有文件到上一级目录   mv * ../

把当前目录的一个子目录里的文件移动到另一个子目录里   mv test3/*.txt test5

文件被覆盖前做简单备份,前面加参数    -bmv log1.txt -b log2.txt

 

cat

cat命令是用来连接文件或者打印的。,主要功能是讲一个文件的内容连续显示在屏幕上,而tac和cat相反,是有最后一行到第一行反向在屏幕上显示。

一次性显示整个文件   cat  文件名字

创建文件是   cat> 文件名字   但是不能编辑已经有的文件

Cat命令的用法举例

1把test1的文件内容加上行号输入test2整个文件 

Cat –n tset1 test2

2把 test1和 test2的文件内容加上行号(空白行不加)之后将内容附加到test3里。

cat –b test1 test2 test3

 

 

 

chgrp是修改文件的用户组   命令行:  chgrp     用户组  目录名字或者目录   

chown是修改文件的所有者  命令行:  chown  账号名称  文件或者目录

例如0test.txt文件的所有者改为tian这个账号

chown  tian  test.txt

若果目录下所有文件都改,直接在后面加参数-R就行

 

 

 

 

 

 

cp

是复制文件或者目录

cp 源文件 目标文件

-f:强行复制文件或目录,不论目标文件或目录是否已存在;

-i:覆盖既有文件之前先询问用户;

-p:保留源文件或目录的属性;

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

-a:是复制文件的特性或特权

-u:是在目标文件与源文件有差别的才会复制。

 

 

 

 

Chomd

是改变权限

chomd  权限数字 文件或者目录 

数字改编权限:

:文件所有者owner,同组用户group、其他用户others,三种身份都有各自的权限,r(可读),w(可写),x(可执行)。

r:4,w:2,x:1

符号改编权限

user(u)是可读可写可执行的权限  u=rwx

group和others是可读和可执行权限  g/o=rx

 

 

 

head

命令是用于显示文件的开头的内容,默认情况下只显示10行
head –n  数字 文件。但是接的是负数的话就不一样了
例如一个文件有140行,上面的命令是-100,那么就只列出前40行
-n:指定显示头部内容的行数;
-c:指定显示头部内容的字符数;
-v:总是显示文件名的头信息;
-q:不显示文件名的头信息。
 
 
 
 

Tail

是显示文件后面的内容,默认也是10行
tail –n 数字  文件 。 代表该文件n行以后会显示出来,
如果是持续更新的话就要加 –f  会一直更新新加入的数据
 
 

Touch

命令是修改文件时间或者创建新的文件。
touch  文件
  -a仅仅可以修改访问时间;
  -c仅仅修改文件的时间,如果文件不存在就不创新新的文件
  -d后面可以接想要修改的日期或者不用目前的日期
  -m仅仅可以修改mtime
  -t后面可以接想要修改的时间而不用目前的时间
atime是访问文件后的时间,mtime是修改文件的时间,ctime是文件的权限,
用户组,拥有者发生改变的时间。主要使用的是-a,-m。
 

 

 

Umask

是目前用户在新建文件或者目录时的默认权限,默认值是0022

umask后面直接加权限(r,w,x)   umask的分数是该默认值需要减掉的权限

若分数为022,用户没有被拿掉任何权限,同组的和其他用户的(w)写的权限被拿掉了

 

 

 

 

 

chattr和lsattr

文件的隐藏属性

Chattr是设置文件的隐藏属性。

chattr (+,-,=)(A,S,a,c,d,I,s,u)文件名字

a是文件只能附加数据,不能删除和修改数据。只有root才能设置这个属性。

i是不能被删除,改名,移动,添加数据。只有root才能设置这个属性。

d是不被备份

s是如果删除就完全删除了

u是删除了以后数据还在磁盘

 

lasttr是显示文件的隐藏属性

lasttr(-adR)文件

-a是显示隐藏属性

-d是显示目录的属性不显示目录的名字

-R子目录数据也显示

 

 

SetUID  SetGID   SBIT

SetUID当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。(也就是root)

  1. 只有可执行的二进制程序才可以设置SetUID
  2. 所有者想要设置SetUID权限就需要有x的执行权限。
  3. 命令执行过程中,其它用户获取所有者的身份
  4. 具有时间限制,完成程序后消失。

 

 

 

SetGID是针对文件或者目录的。其实,SetGID基本与SetUID相同,而GID为设置所属组的特殊权限
对文件来说他对二进制有用

必须有x的权限

执行中会获得用户组的支持

但对目录来说,需要具有rw权限  

普通用户在此目录中的有效组会变成此目录的所属组

普通用户对该目录具备w权限,那么新建文件的所属组为该目录的所属组

 

 

 

Sticky bit()是针对目录

要有wx权限

在该目录下创建的文件或者目录,只有root才能删除。

 

 

SUID是4,SGID是2,SBIT是1.

Chmod是修改权限

如果要是修改权限,直接在权限数字前加入就可以。

加入SUID权限

chmod 4rwx 文件名

加入SGID权限

chmod 2rwx 文件名

加入SBIT权限

chmod 1rwx 文件名

 

 

whereis

是寻找特定文件

whereis 文件名

-b:只查找二进制文件;

-m:只查找说明文件;

-s:只查找原始代码文件;

-u:查找不包含指定类型的文件。

 

 

 

 

Find

是搜索文件,并执行。

-name   按照文件名查找文件。

-user   按照文件属主来查找文件。

-group  按照文件所属的组来查找文件。

-mtime (-n/ +n)  按照文件的更改时间来查找文件 –n是距现在n天内,+n是就现在n天后(atimectime的用处相同)

-newer file1  !  file2  查找更改时间比文件file1新但比文件file2旧的文件。

-perm   按照文件权限来查找文件

-size   按照大小查找文件    find . –size(+/-)size (第二个size规格c代表byte,k代表1024bytes)

-type  查找某一类型的文件包括:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

-

 

posted @ 2018-08-07 15:08  wadu  阅读(166)  评论(0)    收藏  举报