基础命令
简单的命令行
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中去,因此在linux上free内存会越来越少,但不用为此担心。
对于内存监控,在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)
- 只有可执行的二进制程序才可以设置SetUID
- 所有者想要设置SetUID权限就需要有x的执行权限。
- 命令执行过程中,其它用户获取所有者的身份
- 具有时间限制,完成程序后消失。
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天后(atime和ctime的用处相同)
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-perm 按照文件权限来查找文件
-size 按照大小查找文件 find . –size(+/-)size (第二个size规格c代表byte,k代表1024bytes)
(-type 查找某一类型的文件包括:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。)
-
浙公网安备 33010602011771号