一.Linux常用命令
1.命令格式与目录处理命令ls
1.1命令格式:命令【-选项】【参数】
例如:ls -la /etc
(注意:选项可能会有多个,可以连着写,也可以分开写。绝大多数命令的顺序可以颠倒)
说明:
(1)个别命令使用不遵守此格式
(2)当有多个选项时,可以写在一起
(3)简化选项与完整选项 -a等于--all
1.2目录处理命令:
命令名称:ls
命令英文原意:list(菜单)
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald][文件或目录]
-a (all) 显示所有文件,包括隐藏文件(对比单个ls命令,ls -a多出了以点开头的文件。在Linux中,以点开头的文件就是隐藏文件。注意:隐藏文件不是说把文件藏起来,不管在Windows还是在Linux中,隐藏文件都能轻易的被我们找到。设置隐藏文件的初衷是告诉用户这是一个系统文件,在你不确定的情况下,不要去乱动)
-l (long) 详细信息显示
1、-rw-r--r--(10个字符)
· - 开头表示就是一个普通的文件
· d 开头的表示它是一个目录
· l 开头的表示一个软链接
·文件类型(-二进制文件 d 目录 l 软链接文件)
·rw- r-- r--(3个字节一部分,分为三部分)
r 读 (权限) w 写 (权限) x 执行(权限)
例:rw-r--r--(它的所有者有读和写的权限,没有的权限就用-代替。那么权限这个问题我们说够用就好,所以这里没有x权限)
2、最前面的数字: 引用计数(这个文件被调用过几次)
3、 u g o(用户和文件的关系)
u 所有者(一般情况下只能有一个人,谁创建文件就是谁,可以变更)
g 所属组( 所有者规定的那一类人,美女组)
o 其他人(既不是所有者,也不是所属组的那一类人)
4、一串数字:文件大小
5、时间:文件的上一次修改时间
6、一串英文:文件名
-d 查看目录下所有文件的属性
-ld /etc 查看目录下指定文件的属性
-i 查询到任何一个文件的i节点
命令名称:mkdir(不要轻易的在根目录下随便创建文件)
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir-p[目录名称]
功能描述:创建新目录
-p 递归创建
范例:$ mkdir -p/tmp/Japan/boduo(如果没有-p,那么创建boduo文件将会失败,因为系统本身是没有Japan这个文件的)
$mkdir/tmp/Japan/longze/tmp/Japan/cangjing(Linux一行命令可以同时创建多个子目录)
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd[目录]
功能描述:切换目录
范例:$cd /tmp/Japan/boduo 切换到指定目录
$cd ..(必须加空格) 回到上一级目录
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
范例:$pwd
命令名称:rmdir(实际应用不多)
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir[目录名]
功能描述:只能删除空目录
范例:$rmdir /tmp/Japan/boduo
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [源文件或目录][目标目录]
-r 复制目录
-p 保留文件属性(文件的修改时间等属性不会被改变)
功能描述:复制文件或目录
范例:$ cp -r /tmp/Japan/cangjing /root
将目录/tmp/Japan/cangjing复制到目录/root 下
$ cp -rp /tmp/Japan/boduo /tmp/Japan/longze /root
将/tmp/Japan目录下的boduo和longze目录复制到/root下,保持目录属性(可以同时操作多个文件)
注意:区别于Windows,Linux可以在复制到另外一个目录的同时更改文件名
范例:$cp -r /tmp/Japan/longze /root/shenchao.18+
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv[源文件目录][目标目录]
功能描述:剪切文件,改名
范例:$ mv /tmp/Japan/cangjing /root(如果当前所在位置就在要剪切的位置,那么可以省掉前面的目录部分)
$ mv /tmp/Japan/longze /root/nvshen(可以在剪切的时候改名)
$mv cangjing canglaoshi(同一目录下进行改名)
注意:ctrl+l 清除界面命令或者直接输入“clear”命令行
;任何一个命令的终止可以按ctrl+c 。添加一个用户可以输入useradd,在它的后面加上用户名称就可以了。添加一个所属组可以输入groupadd。
命令名称:rm
命令英文原意:remove
命令所在路径: /bin/rm
执行权限:所有用户
语法: rm -rf[文件或者目录]
-r 删除目录
-f 强制执行英文原意(系统不会询问)
功能描述:删除文件(一定要谨慎)
命令名称:touch
命令所在路径: /bin/toich
执行权限:所有用户
语法: touch [文件名]
功能描述:创建空文件(与mkdir不同,一个是创建空目录,一个是创建空文件)
范例:$ touch Japanlovestory.list(默认在当前路径下创建空文件)
$ touch /root/Japanlovestory.list(在指定的路径下创建空文件)
注意:文件的后缀名可以随便起,但是不建议这么做,容易给自己带来很多麻烦
$ touch /lidongli lidongdong(中间加了空格,创建了两个文件,一个文件名叫lidongli,一个文件名叫lidongdong)
命令名称:cat(不适合浏览较长内容的文件)
命令所在路径: /bin/cat
执行权限:所有用户
语法: cat [文件名]
功能描述:直接显示文件内容
-n 显示行号
范例:$ cat /etc/issue
$ cat -n /etc/services
命令名称:tac(把cat反过来写)
命令所在路径: /usr/bin/tac
执行权限:所有用户
语法: tac [文件名]
功能描述:显示文件内容(反向列示,就是倒着显示的意思)
范例:$ tac /etc/issue
命令名称:more(适合显示内容很长的文件)
命令所在路径: /bin/more
执行权限:所有用户
语法: more [文件名]
(空格)或f 翻页(一页一页的往后翻)
(Enter) 换行(一行一行的往后翻)
(q或Q) 退出
功能描述:分页显示文件内容
范例:$ more /etc/service
命令名称:less
命令所在路径: /usr/bin/less
执行权限:所有用户
语法: less [文件名]
(空格)或f 翻页(一页一页的往后翻)
(Enter) 换行(一行一行的往后翻)
(pgup) 上翻(一页一页的往上翻)
(↑箭头) 上翻(一行一行的往上翻)
(q或Q) 退出
(/[关键词]) 就可以搜索导内容中对应的地方
功能描述:分页显示文件内容(可向上翻)
范例:$ less /etc/services
命令名称:head
命令所在路径: usr/bin/head
执行权限:所有用户
语法: head [文件名]
功能描述:显示文件前面几行
-n 指定行数
范例:$ head -n 20 /etc/services
命令名称:tail
命令所在路径: usr/bin/tail
执行权限:所有用户
语法: cat [文件名]
功能描述:直接显示文件后面几行
-n 指定行号
-f 动态显示文件末尾内容
范例:$ tail -n 18 /etc/services
命令名称:ln
英文原意:link
命令所在路径: /bin/ln
执行权限:所有用户
语法: ln -s [原文件][目标文件]
-s 创建软件链接
功能描述:生成链接文件
范例:$ ln -s /etc/issue /tmp/issue.soft(放到tmp目录下的issue.soft文件名);创建文件/etc/issue的软件链接/tmp/issue.soft
$ ln /etc/issue /tmp/issue.hard
(创建文件/etc/issue的硬链接/tmp/issue.hard )
软链接特征:类似Windows快捷方式
1.lrwxrwxrwx l软链接
软链接文件权限都为rwxrwxrwx(它的权限不重要,因为最终的权限为原文件的权限,软链接的作用就是指向对应的原文件)
2.文件大小:只是符号链接,所以文件很小
3./tmp/issue.soft-> /etc/issue
箭头指向源文件
硬链接特征:
1、类似于拷贝cp -p + 同步更新(所以原文件和硬链接文件的所有属性都是一样的。同步更新的意思是一个改变了,另外一个会随着相应的改变)
2、echo"www.lampbrother.net" >> /etc/issue
(在文件的末尾加引号里的内容)
注意:软链接在原文件丢失的情况下是不会显示的;硬连接诶不一样,它可以在原文件丢失的情况下依旧显示
3、通过i节点来识别硬链接
4、不能跨分区(软链接可以跨分区)
5、不能针对目录使用
权限管理命令
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa}{+-=}{rwx}][文件或目录](u指所有者,g指所属组,o指其他人,a表示所有用户,+表示增加权限,-表示减少权限,=表示我管你以前是什么鸟权限,反正现在就是这个权限)
[mode=421][文件或目录]
-R 递归修改(此命令一旦加上,会把修改目标目录以及其目录下和子目录中的所有文件的权限一起修改)
注意:可以改变权限的只有两种人,一种叫做所有者,另外一种叫做管理员root
功能描述:改变文件或目录权限
范例:$ chmod u+x Japanlovestory.list
$ chmod g+w,o-r Japanlovestory.list(可以同时进行多个命令操作)
$ chmod g=rwx Japanlovestory.list
权限的数字表示
r ----4(读权限;可以查看文件内容;可以列出目录中的内容)
w ----2(写权限;可以修改文件内容;可以在目录中创建,删除文件。包括root还是任何一个用户创建的文件,只要对其有w权限,就能删除)
x ----1(执行权限;可以执行文件;可以进入目录
什么是可以执行的文件?
比如像脚本、命令 这些文件)
rwxrw-r--
7 6 4
命令名称:chown
命令英文原意:change file ownership
命令所有路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或者目录的所有者(在变更所有者的过程中不能随意写一个用户的名称,必须用useradd命令实现添加)
范例:$chown shenchao fengjie
改变稳健fengjie的所有者为shengchao
注意:在Linux中,改变一个文件的所有者,只有管理员root才可以做这样的操作
命令名称:chgrp
命令英文原意:change file group ownership
命令所有路径:/bin/chgrop
执行权限:所有用户
语法:chgrop [用户组] [文件或目录]
功能描述:改变文件或者目录的所属组
范例:$chgrop lampbrother fengjie
改变文件fengjie的所属组为lampbrother(在变更所属组的过程中不能随意写一个所属组名称,必须用groupadd命令实现添加)
命令名称:umask
命令英文原意:the user file -creation mask
命令所有路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
范例:$ umask -S
注意:在Linux中,任何新创建的文件都会把可执行权限去掉
文件搜索命令
命令名称:find(非常复杂的一个命令)
命令所有路径:/bim/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索
1、$ find /etc -name init
在目录/etc中查找文件init(在Linux中,只有文件名是init的才会被搜出来,与Windows有很大多的不同)
$ find /etc -name *init*(这样文件名包含init的才会被搜索出来)
$ find /etc -name init*(文件名以init开头的文件)
$ find /etc -name init???(文件名总长度为7后三位记不清楚的文件)
-type(根据文件类型查找)
f(文件) d(目录) l(软链接)
$find /etc -name init* -type f
-iname 查找 到的文件名不区分大小写
$find /etc -iname init
2、find / -size +204800(按照根据文件大小来查找)
单位是数据块(Linux中存储数据的最小单位),在Linux中,1数据块=512字节=0.5k
在根目录下查找大于100MB的文(100MB=102400k=204800k)
+n(加号表示大于多少) -n(减号表示小于多少) n(什么符号都不用表示等于多少)
3、$find /home -user shenchao
在根目录下查看所有者为shnechao的文件
4、$find /etc -cmin -5
在/etc下查找5分钟内被修改过属性的文件和目录(加号表示超过多长时间,减号表示在多长时间之内)
-amin 访问时间被改变过access
-cmin 文件属性被改变过change
-mmin 文件内容被改变过modify
5、find /etc -size +163840 -a -size -204800
在/etc 下查找大于80MB小鱼100MB的文件
-a 两个条件同时满足
-o 两个条件满足任何一个即可
6、$find /etc -name inittab -exec ls -l {}
在/etc下查找inittab文件并且显示其详细信息
固定格式: -etc/-ok 命令{}\ ; (对搜索结果执行操作)
-inum(根据i节点查找)每个文件都有一个i节点
例:删除一个很特殊的文件
①先用ls -i 来显示文件的i节点
②看想要删除文件前面的数字就是它的i节点(假设是31531)
③find . -inum 31531 -exec rm {} \;
命令名称:locate(秒搜,作为find的补充命令)
命令所有路径:/usr/bin/locate
语法:locate 文件名
功能描述:在文件资料库中查找文件
范例:$ locate inittab
命令名称:which
命令所有路径:/usr/bin/which
执行权限:所有用户
语法:which命令
功能描述:搜索命令所在目录及别名信息
范例:$ which ls