Linux常用基本命令
命令格式: 命令 -选项 参数
例: ls -la /etc
说明:1)当有多个选项时,可以写在一起
2)两个特殊的目录
.
和
..
,分别代表当前目录和当前目录的父目录。
. 开头的文件属于隐藏文件
文件处理命令
命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a 显示所有文件,包括隐藏文件 -l 详细信息显示 -d 查看目录属性
命令名称:cd 命令英文原意:change directory 命令所在路径:shell内置命令 执行权限:所有用户 语法:cd [目录] 功能描述:切换目录 范例: $ cd / 切换到根目录 $ cd .. 回到上一级目录
命令名称:pwd 命令英文原意:print working directory 命令所在路径:/bin/pwd 执行权限:所有用户 语法:pwd 功能描述:显示当前所在的工作目录 范例:$ pwd /etc/rc5.d
命令名称:touch 命令所在路径:/bin/touch 执行权限:所有用户 语法:touch [文件名] 功能描述:创建空文件 范例: $ touch newfile
命令名称:mkdir 命令英文原意:make directories 命令所在路径:/bin/mkdir 执行权限:所有用户 语法:mkdir [目录名] 功能描述:创建新目录 范例: $ mkdir newdir
命令名称:cp 命令英文原意:copy 命令所在路径:/bin/cp 执行权限:所有用户 语法:cp -R [源文件或目录] [目的目录] -R 复制目录 功能描述:复制文件或目录 范例: $ cp file1 file2 dir1 将文件file1、file2复制到目录dir1 $ cp -R dir1 dir2 将dir1下的所有文件及子目录复制到dir2
命令名称:mv 命令英文原意:move 命令所在路径:/bin/mv 执行权限:所有用户 语法:mv [源文件或目录] [目的目录] 功能描述:移动文件、更名 范例: $ mv file1 file3 将当前目录下文件file1更名为file3 $ mv file2 dir2 将文件file2移动到目录dir2下
命令名称:rm 命令英文原意:remove 命令所在路径:/bin/rm 执行权限:所有用户 语法:rm + 文件名 rm -r [文件或目录] -r 删除目录 功能描述:删除文件 范例: $ rm file3 删除文件file3 $ rm -r dir1 删除目录dir1
命令名称:cat 命令英文原意:concatenate and display files 命令所在路径:/bin/cat 执行权限:所有用户 语法:cat [文件名] 功能描述:显示文件内容 范例: $ cat /etc/issue $ cat /etc/services
命令名称:more 命令所在路径:/bin/more 执行权限:所有用户 语法:more [文件名] (空格) 或f 显示下一页 (Enter) 显示下一行 q或Q 退出 功能描述:分页显示文件内容 范例:$ more /etc/services
指令名称:head 指令所在路径:/bin/head 执行权限:All User 语法:head -num [文件名] -num 显示文件的前num行 功能描述:查看文件的前几行 范例:$ head -20 /etc/services
指令名称:tail 指令所在路径:/bin/tail 执行权限:All User 语法:tail -num [文件名] -num 显示文件的后num行 -f 动态显示文件内容 功能描述:查看文件的后几行 范例: $ tail -30 /etc/services
命令名称:ln 命令英文原意:link 命令所在路径:/bin/ln 执行权限:所有用户 语法:ln -s [源文件] [目标文件] -s 创建软链接 功能描述:产生链接文件 范例: $ ln -s /etc/issue /issue.soft 创建文件/etc/issue的软链接/issue.soft $ ln /etc/issue /issue.hard 创建文件/etc/issue的硬链接/issue.hard
权限管理命令
命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [ {ugo}{+-=}{rwx} ] [文件或目录] [ mode=421 ] [文件或目录] 功能描述:改变文件或目录权限 范例:$ chmod g+w file1 赋予文件file1所属组写权限 $ chmod 777 dir1 设定目录dir1为所有用户具有全部权限
r w x
4 2 1
例:在root账户下创建一个目录,并在此目录下创建一个文件,将此文件的权限修改为777,问:一个普通用户是否能删除这个文件?
不能删除
将目录的权限改为777,将文件的权限改为原来的644后,普通用户是否可以删除这个文件? 可以
可以看出对目录有写权限,就可以在此目录下删除文件
对文件有r权限 --- cat、more、head、tail w权限 --- echo、vi x权限 --- 命令、脚本 对目录有r权限 --- ls w权限 --- touch、mkdir、rm x权限 --- cd文件目录权限总结
代表字符
|
权限
|
对文件的含义
|
对目录的含义
|
r
|
读权限
|
可以查看文件内容
|
可以列出目录中的内容
|
w
|
写权限
|
可以修改文件内容
|
可以在目录中创建、删除文件
|
x
|
执行权限
|
可以执行文件
|
可以进入目录
|
命令名称:chown 命令英文原意:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户 语法:chown [用户] [文件或目录] 功能描述:改变文件或目录的所有者 范例:$ chown nobody file1 改变文件file1的所有者为nobody
命令名称:chgrp 命令英文原意:change file group ownership 命令所在路径:/bin/chgrp 执行权限:所有用户 语法:chgrp [用户组] [文件或目录] 功能描述:改变文件或目录的所属组 范例:$ chgrp adm file1 改变文件file1的所属组为adm
命令名称:umask 命令所在路径:/bin/umask 执行权限:所有用户 语法:umask [-S] -S 以rwx形式显示新建文件或目录缺省权限 功能描述:显示、设置文件的缺省权限 范例: $ umask $ umask -S
0022
0 - 特殊权限位
022 - 用户权限位,权限掩码值
777 所有的权限
-022 - 权限掩码值
———— ——————
755 文件真正的权限
但当我们创建一个文件时,我们看到的默认权限并不是755,而是644
这是因为Linux权限规则:
缺省创建的文件不能授予可执行x权限 755 -111 = 644
命令名称:which 命令所在路径:/usr/bin/which 执行权限:所有用户 语法:which [命令名称] 功能描述:显示系统命令所在目录 范例:$ which ls
which除了显示命令所在的绝对路径外,还会提供这个命令对应的别名记录
whereis 除了显示命令所在的绝对路径外,还提供这个命令所在的帮助文档所在的路径
命令名称:find 命令所在路径:/usr/bin/find 执行权限:所有用户 语法:find [搜索路径] [搜寻关键字] 功能描述:查找文件或目录 范例: $ find /etc -name init 在目录/etc中查找文件init $ find / -size +204800 在根目录下查找大于100MB的文件 $ find / -user sam 在根目录下查找所有者为sam的文件 $ find /etc -ctime -1 在/etc下查找24小时内被修改过属性的文件和目录 $ find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件 $ find /etc -name inittab -exec ls -l {} \; 在/etc下查找inittab文件并显示其详细信息
按时间查找:
1、天 ctime、atime、mtime
2、分钟 cmin、amin、mmin
c - change改变,表示文件属性被修改过,所有者、所属组、权限
a - access访问,表示文件被查看过
m - modify修改,表示文件的内容被修改过
- 表示多长时间之内
+超过多长时间
find /etc -mmin -120
-inum i节点
只有在linux下才有的命令
指令名称:locate 指令英文原义:list files in databases 指令所在路径:/usr/bin/locate 执行权限:All User 语法:locate [搜索关键字] 功能描述:寻找文件或目录 范例: $ locate file 列出所有跟file相关的文件创建一个newfile1,用locate找并没有找到
原因是:
find若指定根目录,会把整个硬盘都查找一遍;
locate是根据系统定期安装和更新的文件数据库来查找。
所以locate要搭配updatedb来使用,系统会定期执行updatedb
指令名称:updatedb 指令英文原义:update the slocate database 指令所在路径:/usr/bin/updatedb 执行权限:root 语法:updatedb 功能描述:建立整个系统目录文件的数据库 范例:# updatedb
命令名称:grep 命令所在路径:/bin/grep 执行权限:所有用户 语法:grep [指定字串] [源文件] 功能描述:在文件中搜寻字串匹配的行并输出 范例:# grep ftp /etc/services帮助命令
命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信息 范例: $ man ls 查看ls命令的帮助信息 $ man services 查看配置文件services的帮助信息
指令名称:info 指令英文原义:information 指令所在路径:/usr/bin/info 执行权限:All User 语法:info [任何关键字] 功能描述:获得帮助信息 范例: $ info ls 查看ls指令的帮助信息
指令名称:whatis apropos makewhatis 指令英文原义:search the whatis database for strings 指令所在路径:/usr/bin/whatis apropos /usr/sbin/makewhatis 执行权限:All User, All User,root 语法:whatis apropos [任何关键字] 功能描述:获得索引的简短说明信息 范例: $ whatis ls $ apropos fstab 相当于man -k # makewhatis 建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立
help 查看shell内置命令的帮助压缩解压命令
命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:.gz
命令名称:gunzip 命令英文原意:GNU unzip 命令所在路径:/bin/gunzip 执行权限:所有用户 语法:gunzip 选项 [压缩文件] 功能描述:解压缩.gz的压缩文件 范例: $ gunzip file1.gz
命令名称:tar 命令所在路径:/bin/tar 执行权限:所有用户 语法:tar 选项[cvf] [目录] -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 功能描述:打包目录 压缩后文件格式:.tar.gz 范例: $ tar -zcvf dir1.tar.gz dir1 将目录dir1压缩成一个打包并压缩的文件 tar命令解压缩语法: -x 解包.tar文件 -v 显示详细信息 -f 指定解压文件 -z 解压缩 范例:$ tar -zxvf dir1.tar.gz
命令名称:zip 命令所在路径:/usr/bin/zip 执行权限:所有用户 语法: zip 选项[-r] [压缩后文件名称] [文件或目录] -r 压缩目录 功能描述:压缩文件或目录 压缩后文件格式:.zip 范例: $ zip services.zip /etc/services 压缩文件 $ zip -r test.zip /test 压缩目录
命令名称:unzip 命令所在路径:/usr/bin/unzip 执行权限:所有用户 语法:unzip [压缩文件] 功能描述:解压.zip的压缩文件 范例:$ unzip test.zip
命令名称:bzip2 命令所在路径:/usr/bin/bzip2 执行权限:所有用户 语法: bzip2 选项 [-k] [文件] -k 产生压缩文件后保留原文件 功能描述:压缩文件 压缩后文件格式:.bz2 范例:$ bzip2 -k file1
命令名称:bunzip2 命令所在路径:/usr/bin/bunzip2 执行权限:所有用户 语法: bunzip2 选项 [-k] [压缩文件] -k 解压缩后保留原文件 功能描述:解压缩 范例:$ bunzip2 -k file1.bz2
网络通信指令
指令名称:write 指令所在路径:/usr/bin/write 执行权限:All User 语法:write <用户名> 功能描述:向另外一个用户发信息,以Ctrl+D作为结束 范例: $ write webmaster
指令名称:wall 指令所在路径:/usr/bin/wall 执行权限:All User 语法:wall [message] [文件名] 功能描述:向所有用户广播信息 范例:$ wall Happy New Year!
命令名称:ping 命令所在路径:/usr/sbin/ping 执行权限:root 语法:ping 选项 IP地址 功能描述:测试网络连通性 范例: # ping 192.168.1.1
命令名称:ifconfig 命令所在路径:/usr/sbin/ifconfig 执行权限:root 语法:ifconfig 选项[-a] [网卡设备标识] -a 显示所有网卡信息 功能描述:查看网络设置信息 范例:# ifconfig -a系统关机命令
命令名称:shutdown 命令所在路径:/usr/sbin/shutdown 执行权限:root 语法:shutdown 功能描述:关机 范例:# shutdown -h now
命令名称:reboot 命令所在路径:/usr/sbin/reboot 执行权限:root 语法:reboot 功能描述:重启系统 范例:# reboot
Shell 应用技巧
[]
命令别名
[] 输入/输出重定向
[] 管道
[] 命令连接符
[] 命令替换符
bash 应用技巧
命令补齐
命令补齐允许用户输入文件名起始的若干个字
母后,按
<Tab>
键补齐文件名。
命令历史
命令历史允许用户浏览先前输入的命令并重新
调用它们,用
history
命令可以显示命令列表,
按方向键
↑
和
↓
可查找以前执行过的命令。
命令别名
命令别名定义:
范例:alias copy=cp
alias xrm= “rm -r ”
查看别名信息:alias
删除别名:unalias copy
输入/输出重定向
同标准I/O一样,Shell对于每一个进程预先定
义3个文件描述字(0、1、2)。分别对应于:
0 (STDIN)标准输入;
1 (STDOUT)标准输出;
2 (STDERR)标准错误输出。
> 或>> 输出重定向
范例:ls -l /tmp > /tmp.msg
date >> /tmp.msg
< 输入重定向
范例:wall < /etc/motd
2> 错误输出重定向
范例:cp -R /usr /backup/usr.bak 2> /bak.error
管道
管道:将一个命令的输出传送给另一个命令,
作为另一个命令的输入。
使用方法:
命令1|命令2|命令3……|命令n
范例:
ls -l /etc | more
ls -l /etc | grep init
ls -l /etc | grep init | wc -l
命令连接符
;
用;间隔的各命令按顺序依次执行。
&&
前后命令的执行存在逻辑与关系,只有&&前面
的命令执行成功后,它后面的命令才被执行。
||
前后命令的执行存在逻辑或关系,只有||前面的
命令执行失败后,它后面的命令才被执行。
命令替换符
命令替换:将一个命令的输出作为另一个
命令的参数。
格式为:命令1 `命令2`
范例:
ls -l `which touch`