1.Linux管理文件和目录的命令
命令 | 功能 | 命令 | 功能 |
pwd | 显示当前目录 | ls | 查看目录下的内容 |
cd | 改变所在目录 | cat | 显示文件的内容 |
grep | 在文件中查找某字符 | cp | 复制文件 |
touch | 创建文件 | mv | 移动文件 |
rm | 删除文件 | rmdir | 删除目录 |
vi | 编辑文件 |
1.1 pwd命令
该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。
1.2 cd命令
cd命令用来改变所在目录。
cd / 转到根目录中
cd ~ 转到/home/user用户目录下
cd /usr 转到根目录下的usr目录中-------------绝对路径
cd test 转到当前目录下的test子目录中-------相对路径
1.3 ls命令
ls命令用来查看目录的内容。
选项 | 含义 |
-a | 列举目录中的全部文件,包括隐藏文件 |
-l | 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 |
-f | 列举的文件显示文件类型 |
-r | 逆向,从后向前地列举目录中内容 |
-R | 递归,该选项递归地列举当前目录下所有子目录内的内容 |
-s | 大小,按文件大小排序 |
-h | 以人类可读的方式显示文件的大小,如用K、M、G作单位 |
ls -l examples.doc | 列举文件examples.doc的所有信息 |
1.4 cat命令
cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。
cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。
1.5 grep命令
grep命令的最大功能是在一堆文件中查找一个特定的字符串。
grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
1.6 touch命令
touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。
touch newfile 该命令创建一个名为newfile的空白文件。
1.7 cp命令
cp命令用来拷贝文件,要复制文件,输入命令:
cp <source filename> <targetfilename>
cp t.txt Document/t 该命令将把文件t.txt复制到Document目录下,并命名为t。
选项 | 含义 |
-i | 互动:如果文件将覆盖目标中的文件,他会提示确认 |
-r | 递归:这个选项会复制整个目录树、子目录以及其他 |
-v | 详细:显示文件的复制进度 |
1.8 mv命令
mv命令用来移动文件。
选项 | 说明 |
-i | 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 |
-f | 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项 |
-v | 详细:显示文件的移动进度 |
例:mv t.txt Document 把文件t.txt 移动到目录Document中
1.9 rm命令
rm命令用来删除文件。
选项 | 说明 |
-i | 互动:提示确认删除 |
-f | 强制:代替互动模式,不提示确认删除 |
-v | 详细:显示文件的删除进度 |
-r | 递归:将删除某个目录以及其中所有的文件和子目录 |
例:rm t.txt 该命令删除文件t.txt
1.10 rmdir命令
rmdir命令用来删除目录。
用户管理命令
添加新用户
用户名 (功能描述:添加新用户)
组名 用户名 (功能描述:添加新用户到某个组
设置用户密码
用户名 (功能描述:设置用户密码)
id 查看用户是否存在
用户名
userdel 删除用户
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
修改用户
修改用户
选项 | 功能 |
-g | 修改用户的初始登录组,给定的组必须存在 |
groupadd 新增组
组名
groupdel 删除组
组名
groupmod 修改组
新组名 老组名
选项 | 功能描述 |
-n<新组名> | 指定工作组的新组名 |
2.有关磁盘空间的命令
命令 | 功能 |
mount | 挂载文件系统 |
umount | 卸载已挂载上的文件系统 |
df | 检查各个硬盘分区和已挂上来的文件系统的磁盘空间 |
du | 显示文件目录和大小 |
fsck | 主要是检查和修复Linux文件系统 |
3.文件备份和压缩命令
在Linux中,常用的文件压缩工具有gzip、bzip2、zip。bzip2是最理想的压缩工具,它提供了最大限度的压缩。zip兼容性好,Windows也支持。
命令 | 功能 |
bzip2/bunzip2 | 扩展名为bz2的压缩/解压缩工具 |
gzip/gunzip | 扩展名为gz的压缩/解压缩工具 |
zip/unzip | 扩展名为zip的压缩/解压缩工具 |
tar | 创建备份和归档 |
3.1 bzip2命令
要使用bzip2来压缩文件,在shell提示下输入命令:
bzip2 filename
文件即会被压缩,并被保存为filename.bz2。
要解压缩文件,输入命令:
bunzip2 filename.bz2
filename.bz2会被删除,而以filename代替。
bzip2 filename.bz2 file1 file2 file3/usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.bz2。
3.2 gzip命令
要使用gzip来压缩文件,输入命令:
gzip filename
文件即会被压缩,并被保存为filename.gz。
要解压缩文件,输入命令:
gunzip filename.gz
filename.gz会被删除,而以filename代替。
gzip -r filename.gz file1 file2 file3/usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.gz。
3.3 zip命令
zip命令的使用方法同gzip。
3.4 tar命令
tar命令最早是用来做磁带备份的,但是由于硬盘容量越来越大,因此现在主要用这个命令来备份所有的文件。tar这个命令把大量的文件和目录打包成一个文件。
选项 | 功能 |
-c | 创建一个新归档 |
-f | 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用时,则解除该选项指定的归档 |
-t | 显示包括在tar文件中的文件列表 |
-v | 显示文件的归档进度 |
-x | 从归档中抽取文件 |
-z | 使用gzip压缩tar文件 |
-j | 使用bzip2压缩tar文件 |
要创建一个tar文件,输入命令:
tar –cvf filename.tar directory/file/home/mine
上面的命令将directory/file、/home/mine放入归档文件中。
要列出tar文件的内容,输入命令:
tar –tvf filename.tar
要抽取tar文件的命令,输入命令:
tar –xvf filename.tar
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构。
tar –czvf filename.tgz file
如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除,以filename.tar代替。
4.有关关机和查看系统信息的命令
命令 | 说明 |
shutdown | 正常关机 |
reboot | 重启计算机 |
ps | 查看目前程序执行的情况 |
top | 查看目前程序执行的情景和内存使用的情况 |
kill | 终止一个进程 |
date | 更改或查看目前日期 |
cal | 显示月历及年历 |
4.1 shutdown命令
要使用这个命令必须保证是根用户,否则使用su命令改变为根用户。命令格式如下:
shutdown –(选项)
选项 | 功能 |
-k | 不是真正的关机,只是发出警告命令 |
-r | 关机后重启(这个用的最多) |
-t | 在规定的时间内关机 |
加入要在2min内关机,输入命令:
shutdown –t 2
如果是关机后重启,输入命令:
shutdown –r
4.2 reboot命令
这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。
选项 | 功能 |
-d | 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d) |
-f | 强迫重开机,不呼叫shutdown这个指令 |
-n | 在重开机前不做将记忆体资料写回硬盘 |
-w | 并不会真的重开机,只是把记录写到/var/log/wtmp档案里 |
4.3 ps命令
ps命令用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下:
ps –(选项)
选项 | 功能 |
-l | 用长格式列出 |
-u | 列出使用者的名称和使用时间 |
-m | 列出内存分布的情况 |
-r | 只列出正在执行的前台程序,不列出其他信息 |
-x | 列出所有程序,包括那些没有终端机的程序 |
4.4 top命令
top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。
4.5 kill命令
kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法:
kill –(选项) pid
在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序:
kill 90
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
4.6 date命令
date命令用来显示、设定和修改现在的时间和日期。标准用法:
date –(选项) 显示时间格式(以+号开头,后加格式)
date 设定时间格式
选项 | 功能 |
-u | 使用格林尼治时间 |
-r | 最后一次修改文件的时间 |
-s | 设置时间 |
常用的几种时间格式如下表所示:
格式 | 说明 |
%a | 星期几的简称,例如一、二、三 |
%A | 星期几的全名,例如星期一、星期二 |
%D | 日期(mm/dd/yy格式) |
%T | 显示时间格式,24小时制(hh:mm:ss) |
%x | 显示日期的格式(mm/dd/yy) |
%y | 年的最后两个数字 |
%Y | 年(如2007、2008) |
%r | 时间(hh:mm:ss 上午或下午) |
%p | 显示上午或下午 |
如果输入命令:
date “+%x,%r”
系统返回如下信息:
2010年3月26日,下午 18时06分49秒
5.管理使用者和设立权限的命令
命令 | 说明 | 命令 | 说明 |
chmod | 用来改变权限 | useradd | 用来增加用户 |
su | 用来修改用户 |
5.1 chmod命令
chmod命令用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。因为用户在他们的账号被创建时就被编入一个组群,所以还可以指定那些组群可以读取、写入或执行某一文件。其中:
r—文件可以被读取
w—文件可以被写入
x—文件可以被执行,如果文件是程序的话
可以使用带有-l的ls命令来仔细查看一个文件的许多细节。
chmod命令用来设定文件的权限。标准用法:
chmod 文件的使用者(u,g,o,a)增减(+,-,=)权限名称(r,w,x) 文件
文件的使用者 | 说明 | 权限 | 说明 | 增减 | 说明 |
u | 拥有文件的用户 | r | 读取权 | + | 添加权限 |
g | 所有者所在的组群 | w | 写入权 | - | 删除权限 |
o | 其他人 | x | 执行权 | = | 是它称为唯一权限 |
a | 全部(u,g和o) |
删除某一文件的所有权限,输入命令:
chmod a-rwx test.txt
为文件所有者添加权限,输入命令:
chmod u+rwx test
还可以用数字表示权限:4——读取,2——写入,1——执行。下面的两个命令等价:
chmod 751 filename
chmod u+rwx,g=rx,0=x filename
5.2 su命令
su命令用来修改用户。这个命令非常重要,它可以让一个普通的使用者拥有超级用户或其他使用者的权限。不过,这个命令必须具有超级用户或其他使用者的口令才能成为超级用户或其他使用者。如果要离开,可以输入exit。标准用法:
su 用户名 (如果没有输入用户名则预设为root)
举例说明,假设当前用户user01,想要转变为user02,则输入命令:
su user02
系统返回:
password:
此时,输入user02的指令,就会变为user02。
5.3 useradd命令
useradd命令用来增加用户,只有根用户才能增加用户。如果没有登录为根用户,输入su,再输入根口令即可。
要增加用户,输入命令:
useradd 用户名
然后,根据提示为新用户输入一个口令即可。
6.线上查询的命令
命令 | 功能 |
man | 查询和解释一个命令的使用方法,以及这个命令的说明事项 |
locate | 定位文件和目录 |
whatis | 寻找某个命令的含义 |
6.1 man命令
man命令用来查询和解释一个命令的使用方法和这个命令的注意事项。这个查询查询在每个Linux上都有。通常,使用者只要输入命令man和这个命令的名称shell就会列出一份完整的说明。标准用法:
man 命令的名称
要查询ls命令的说明书页,输入命令:
man ls
6.2 whatis命令
whatis命令用来查询某个命令的含义。用法简单,也不需要什么参数,直接在whatis命令后加上所要查询的命令就可以了,但是却很实用。
要查询mv命令的含义,输入命令:
whatis mv
7.文件阅读的命令
命令 | 功能 |
head | 查看文件的开头部分 |
tail | 查看文件结尾的10行 |
less | less是一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息 |
more | more是一个分页工具,它允许一页一页地(或一个屏幕一个屏幕地)查看信息 |
7.1 head命令
head命令可以用来查看文件的开头部分。此命令的格式是:
head 文件名
默认设置,它只查看文件的前10行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:
head –20 文件名
这个命令将会查看文件的前20行。
7.2 tail命令
tail命令和head命令恰恰相反。使用tail命令,可以查看文件结尾的10行。这有助于查看日志文件的最后10行来阅读重要的系统信息。还可以使用tail观察日志文件更新的过程。使用-f选项,tail会自动实时地把打开文件中的新信息显示到屏幕上。例如,要活跃地观察/var/log/messages,以根用户身份在shell下输入以下命令:
tail –f /var/log/messages
7.3 less命令
less命令与more命令相似。
7.4 more命令
more和less的主要区别是,less允许使用箭头来前后移动,而more使用空格键和b键来前后移动。使用ls和more来列举/etc目录下的内容:
ls –al /etc | more
要使用more在文本文件中搜索关键字,按/键并输入命令搜索条目:
/foo
使用空格键来先前翻阅页码。按q键退出。
more命令标准格式为:
more [选项] [fileNames]