Linus的几个重要命令介绍
文件处理命令:
mkdir 用来创建子目录的,使用权是所有用户。用法为:mkdir 参数 目录名
mkdir -m 目录名 创建目录的同时设定权限。如mkdir -m 755 test
mkdir -p 目录名 创建所需目录以及它的上层目录,若目录已存在,也不会报错。
如 mkdir-p c/d/f 就是在当前目录下创建c目录,在c目录下创建d目录,再在d目录下创建f目录
mkdir -v 目录名 创建目录时显示目录信息。如mkdir -m a 创建目录的同时会显示信息即 mkdir: 已创建目录“a”
mkdir --version 目录名 创建目录时显示版本信息。如mkdir –version a 创建目录的同时我这里显示的版本号是
mkdir (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
find 用来在目录中搜索文件,使用权限为所有用户。用法为:find 路径 参数 匹配表达式
参数:
-depth 在范围较大,深度较深时使用,可以指定优先查找的内容。在不加-depth的时候, 处理顺序是首先处理目录本身,然后处理目录下的子内容。加不加-depth参数,会影响输出的顺序。
-maxdepth levels 设置查找的最大目录层数
-mindepth levels 设置查找的最小目录层数
-mount 不在其他文件系统的文件或目录中查找
-version 查找时显示版本信息
匹配表达式:
-name 按名称为条件来查找
-atime n 查找在n天内曾被存取过的文件或目录
-ctime n 查找在n天内曾被更改过的文件或目录
-user用户名 查找属于指定用户名的文件或目录
-size n 查找指定大小为n的文件,单位为block
-print 输出搜索结果并打印
查找技巧:
对于不知道文件全名,但是知道部分名称的文件也可以查找。比如查找名字包含user的文件,则需输入指令:find 路径 -name ‘*user*’
我们也可以用多项条件混合查找,用-and连接查找的匹配表达式。比如查找1天内修改过并且名字叫做test的文件,则需输入指令:find 路径 -ctime 1 -and -name test
mv 用来移动文件或目录即剪切,也可用来给名字或目录重新命名,使用权为所有用户。用法为:mv 参数 原来的目录或文件 移动后的目录或文件
参数:
-i 是指在移动过程中出现文件的覆盖时会询问是否覆盖重写
-f 是设置出现文件覆盖是不询问,直接覆盖。也就是说此时i参数不起作用
移动:mv /home/test a 即把test目录下的文件移到a目录下
改名:mv test a 把test文件移动到a文件,即从当前目录移动到当前目录,就是改名
ln 是用来建立链接,使用权是所有用户。用法:ln 参数 源文件 链接名称
参数:
-f 链接时删除源文件
-d 允许管理者链接自己的目录
-b 链接时会对要覆盖的档案进行备份
-s 进行软链接
链接默认为硬链接,若有-s 则为软连接。其中硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件类似于windows的快捷方式。此外,软链接可对文件和文件夹,而硬链接只能针对文件。
diff 用来比较两个文件的不同,使用权是所有用户。用法:diff 参数 文件1 文件2
参数:
-a 将两个文件当作文本文件逐行比较
-b 不检查(忽略)空格字符的不同
-B 不检查(忽略)空白行的不同
-i 不检查(忽略)大小写的不同
-c 显示全部内容并标出不同
-H 能加快大文件的比较速度
-s 报告两个文件相同。一般如果两个文件不同,则会报告两个文件的不同,但若两个文件是相同的,则不会报告。如果加上-s则当两个文件相同时也会报告。
输出:Files 文件1 文件2 are identical
系统管理命令:
top 用来显示执行中的进程,权限是所有用户
在输入top指令后,我出现了如下图的信息
前五行为系统的整体信息,后面为各个进程的信息。
第一行为top队列信息。 15:02:09 up为当前时间。6:44为系统未重启的时间。1 user表示当前有1个用户。0.00,0.00,0.00分别表示最近1、5、15分钟的系统平均负载。
第二行为tasks进程的信息。151 total表示共运行了151个进程。2 running 为2个正在运行的进程。148 sleeping为148个睡眠进程。0 stopped表示0个停止进程。0 zombie表示0个僵尸进程。
第三行为CPU相关信息0.3%us为用户空间cpu占比;Sy为内核空间占比;ni为用户进程空间内改变过优先级的进程占比;id为空闲cpu占比;wa为等待输入输出占比
第四行为Mem内存相关。分别为物理内存总量;已使用的物理内存总量;空闲物理内存总量;内核缓存的内存量。
第五行为Swap交换分区信息。分别为交换区总量;使用的交换区总量;空闲交换区总量;缓冲的交换区总量。
进程信息中
PID进程ID
USER该进程归属的用户名
PR优先级
NI nice值
VIRT进程使用的虚拟内存总量,单位为kb
RES进程使用的、未被换出的物理内存大小,单位为kb
SHR共享内存大小,单位为kb
S进程状态 (S睡眠 R运行 D不可中断的睡眠 T跟踪停止Z僵尸进程)
%CPU CPU时间占比
%MEM 进程使用的物理内存占比
TIME+ 进程使用的CPU时间总计。单位为1/100秒
COMMAND命令名
df 是用来检查文件系统的磁盘空间占用情况,权限是所有用户。用法:df 参数
在输入df命令后,出现
第一列是代表的文件系统对应的设备文件的路径名称(一般是硬盘上的分区);第二列给出的是数据块的数目。第三四列分别代表已用的和可用的数据块数量。但是两者相加并不等于总的数据块数,这是因为每个分区都预留了空间供管理员使用。即使遇到普通用户空间已经满的情况,管理员仍然留有可以登录和解决问题的空间。最后一列是文件系统的挂载点。
df的参数有
-a 全部文件系统的列表
-h 方便阅读方式显示文件系统大小
-i 显示node信息
-k 以1024字节为单位显示
-p 输出格式为posix
-T 显示文件系统类型
free用来显示内存的使用情况,权限为所有用户
在输入free命令后,我的电脑出现
其各项参数的含义为:
total内存总数,物理内存总数
used已经使用的内存数
free空闲的内存数
shared多个进程共享的内存总额
buffers Buffer缓存内存数
cached Page缓存内存数
-buffers/cache应用使用内存数
+buffers/cache应用可用内存数
Swap交换分区,虚拟内存
at 是用作定时执行任务的命令。用法为:at 参数time
参数:
-m 任务完成后向用户发送邮件
-v 显示版本信息
-f 从指定文件读入任务
-q 使用指定队列
At的time格式叫多样
1、能够指定命令执行的具体日期, mm.dd. yy(月.日.年),指定的日期必须跟在指定时间的后面。 例如:04:00 10.11.2011
2、能够使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。例如:now + 5 minutes 04pm + 3 days
3、能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
lp 是打印文件的命令,所有权为所有用户。用法为:lp 选项 参数
选项参数为
-c 先拷贝文件再打印
-d 打印队列文件
-m 打印结束后发送电子邮件到用户
-number 打印份数
-title 打印标题
-p 设置打印的优先级,最高为100,默认为50
打印多个文件:lp a b
request id is 1(2 file(s))
a和b为2个文件名,request id is 1(2 file(s))表示这是第一个打印命令,要求打印2个文件。
设置优先级:lp a -p 100
设置a的打印优先级为100,即最先打印。
系统安全命令
Passwd用来修改或设置用户密码,使用权是所有用户。用法:passwd 选项 用户名
参数:(下列参数的使用权只有超级用户权限的使用者)
-d:删除密码
-l:锁住密码
-s:列出密码的相关信息
-u:解开已上锁的用户
-x:最大密码使用时间,单位天
-n:最小密码使用时间,单位天
例:[[email protected] ~]# passwd -dlinuxde //清除linuxde用户密码;
Removing password for user linuxde.
passwd: Success //清除成功;
[[email protected] ~]# passwd -S linuxde //查询linuxde用户密码状态;
Empty password. //空密码,也就是没有密码;
例:[[email protected] ~]# passwd linuxde //更改或创建linuxde用户的密码;
Changing password for user linuxde.
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
su 用来变更为其他使用者的身份。用法:su选项
选项参数:
-c变更为帐号为 USER 的使用者并执行指令后再变回原来使用者
-f不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcs
-m执行 su 时不改变环境变数
-l改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量
例: su -c ls root 变更帐号为root并在执行ls指令后退出变回原使用者
chmod 用于修改用户对该文件、目录的权限。有两种用法。
1、 chmod 权限 文件(目录)
如:chmod 777 test将所有用户对test的权限改为可读可写可执行
2、 chmod 用户±权限 文件(目录)
如:chmod u-w test删去当前用户对test文件的可写权限
其中r表示可读 w表示可写 x表示可执行
u表示文件所有者
g表示与所有者同组的用户
o 表示其他用户
a 表示所有用户
umask是指定目前用户在建立档案或目录时候的权限默认值。用法为:umask -p -S mode
mode为设置的数值。
-S修改当前的umask设置
-p修改umask设置
若umask设置为022,则默认的目录权限为755,文件权限为644。umask 表示没有的权限。目录权限为7-0 7-2 7-2=755 而文件本身权限并没有可执行权限,则文件权限为
6-0 6-2 6-2=644
在权限中1表示可执行 2表示可写 4表示可读。Umask是与chmod相配套的命令。
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
用法:sudo [-bhHpV][-s ][-u <用户>][指令] 或 sudo [-klv]
参数
-b 在后台执行指令。
-h 显示帮助。
-H 将HOME环境变量设为新身份的HOME环境变量。
-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
-l 列出目前用户可执行与无法执行的指令。
-p 改变询问密码的提示符号。
-s 执行指定的shell。
-u <用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
-v 延长密码有效期限5分钟。