Linux常用命令

文件处理命令

ls-->显示目录下的所有文件

原意:list

语法:ls   选项[-ald]   [文件/目录]

-a:显示所有文件,包括隐藏文件

-l: 详细信息的显示

-d:查看目录属性

例:ls -l /demo

 

cd-->切换目录/进入某个目录

原意:change directory

pwd-->显示当前所在的工作目录

原意:print working directory

语法:cd [目录]

例:cd /  切换到根目录

 cd ..   回到上一级 

 

touch-->创建空文件

语法:touch [文件名 或者 /指定的目录/文件名]

例:touch hj

注意:在哪个工作目录下面,就默认把文件创建在哪里,也可以指定创建在哪个目录下

touch /test/tx

 

mkdir-->创建新目录

原意:make directories

语法:mkdir [目录名]

例:mkdir work

 

 

cp-->复制文件或目录

原意:copy

语法:cp  [源文件] [目标目录]

   cp -R [目录] [目标目录]     R大小写无所谓

例:cp file1 file2 dir1   将文件file1 、file2复制到目录dir1

 

 cp -R dir1 dir2   将dir1下的所有文件及子目录复制到dir2

 

 mv-->移动文件、更名

原意:move

语法:mv [源文件名或目录] [目标目录]

例:mv file1 file3    将当前目录下文件file1更名为file3

 

  mv file2 dir2    将文件file2移动到目录dir2下

 

 

 也可以边移动边修改名字

 

 rm-->删除文件

原意:remove

语法:rm [文件名]

   rm -rf  [目录]   强制删除空目录/有子目录的目录,不会询问你是否删除

 若用rm -r [目录]  确定就是,若不是空目录,目录里面有很多子目录或者文件,那么只能一个一个删除,每次都会询问,会疯掉的。

例:rm hjj

 

rm -rf   /demo/capter

 

 rm -r test

 

 cat-->显示文件里面内容,适用与文件中内容比较少

原意:concatenate and display files

语法:cat [文件名]

例:cat /etc/issue

 

more-->分页显示文件内容

语法:more [文件名]   

  执行上面的命令后,可以通过以下来查看文件内容

   (空格)或f       显示下一页

   (Enter)      显示下一行

   Q或q        退出

 

例:more /etc/services

 

head-->查看文件的前几行

语法:head -num [文件名]

例:head -5  /etc/services        显示文件中的前5行内容

 

 tail-->查看文件的后几行

语法:tail -num [文件名]

例:tail -5 /etc/services      显示文件中的后5行内容

 

tail -f  [文件名]   动态显示文件内容    适用于日志文件

 

ln-->产生链接文件

原意:link

语法:ln [源文件] [目标文件]    创建硬链接

  ln -s [源文件] [目标文件]   创建软链接

例:ln -s /demo/hj /hj.soft

 

ln /demo/hj /hj.hard

 

 

权限管理命令

chmod-->改变文件或者目录权限

原意:change the permissions model of file

u:所有者

g:用户组

o:其他

+:加权限

-:减权限

=:重新赋值新权限

r=4

w=2

x=1

 

语法:chmod  [{ugo}{+-=}{rwx}]  [文件或者目录]

  chmod  [mode=421]  [文件或目录]

 

例:chmod u+x /demo/hj

 

chmod g-r  /demo/hj

 

chmod o=w /demo/hj

 

 chmod 641 /demo      意思就是:u-->r+w=6   g-->r=4  o-->x=1

 

 

chown-->改变文件或目录的所有者

原意:change file ownership
语法:chown [用户] [文件或目录]

创建普通用户

useradd [用户名]

passwd [用户名]

 

例: chown helen file1

注意看,所有者从root变为了amy

 

 

chgrp-->改变文件或目录的所属组

原意:change file group ownership

语法:chgrp [用户组] [文件或目录]

例:chgrp amy /demo/hj

 

 

umask-->显示、设置文件的缺省权限

语法:umask 

例:umask 

umask -S 

 

新创建目录的默认权限:

 

0022

0-->特殊权限位

022-->用户权限位,权限掩码值

 

  777

-  022

_________

  755

 

新创建文件的默认权限:

注意:缺省创建的文件不能授予可执行x权限

 

要改变创建文件或目录最开始默认的权限怎么改?

 

文件搜索命令

which-->显示系统命令所在目录

语法:which [命令名称]

例:which ls

 

find-->查找文件或目录

语法:find [搜索路径] [搜索关键字]

-name 文件名

*匹配任意字符 init*

find /etc -name init*

?匹配单个字符 init???

find /etc -name init???

-size 文件大小      注意:一般是用block数据块来表示 512字节=0.5kB
find /etc -size +102400 注意: +大于 -小于 查找大于50mb的文件

-user 文件所有者

find /home -user helen 查找所有者为helen的文件

 

-type 文件类型

f 二进制文件

l 软链接文件

d 目录

find /etc -name init* -a -type d    意思是查找名字为init开头并且文件类型为目录的文件

 

连接符:

-a -->and

find /etc -size +102400 -a -size -204800 查找大于50mb,小于100mb的文件

-o -->or

find /etc -size -102400 -o -size +204800 查找小于50mb,或者是大于100mb的文件

 

find ...-exec 命令 { }  \;   

-exec 表示执行后面的命令(不询问,直接执行)

-ok  (弹出询问确认,然后需要自己去确实)

{}:表示find查询的结果

\ :表示转义符

; :表示语句的结束

find /etc -name inittab -exec ls -l {} \;     意思:在/etc下查找 inittab文件并显示其详细信息

 

-inum  文件节点数字

find ls -i  查找出来的文件能显示出i节点的值

find  .  -num 16      意思:   .  表示在当前的目录下查找i节点为16的文件

每个而文件都有i节点,根据i节点查找

 

时间的查找规定:

c--change 改变   :表示文件属性被修改过,例如:所有者、所属组、权限等

a--access 访问

m--modify 修改   :表示文件的内容被修改过

1、天 ctime atime mtime

 find /etc -mtime 1 

2、分钟 cmin amin mmin

find /etc -mmin -120 

 

 locate-->寻找文件或目录

原意:list files in databases

语法:locate [搜索关键字]

例:locate file   意思:列出所有跟file相关的文件

 

updatedb-->建立更新整个系统目录文件的数据库

原意:update the slocate database

语法:updatedb

 

locate  跟updatedb一般是用在一起,locate跟find不同,locate是在已有的数据库里面查找,而find是在整个系统目录下查找

 

grep-->在文件内容中搜索字符串匹配的行并输出

语法:grep [指定字符串] [源文件

例:grep ftp /etc/services

帮助命令

man-->获得帮助信息

语法:man [命令或配置文件]

例:man ls    查看ls命令的帮助信息

man services 查看配置文件services的帮助信息

注意:若有跟命令名称相同的配置文件,那么,默认查看的是命令的帮助

man 5 passwd  表示查看配置文件的帮助

man 1 passwd  表示查看命令的帮助,1可以省略

 

info-->获得帮助信息,跟man命令差不多

语法:info [任何关键字]

例:info ls  查看ls命令的帮助信息

info services 查看services配置文件的帮助信息

 

whatis-->获得索引的简短说明信息

语法:whatis apropos [任何关键字]

 例:whatis ls   获得ls命令的简短信息

【命令】  --help    获得该命令的选项设置

makewhatis  更新数据库

压缩解压命令

gzip-->压缩文件

语法:gzip   选项   [文件]

压缩后文件格式:.gz

例:gzip testfile

注意:

不保留源文件

只能压缩文件

 

gunzip-->解压缩.gz的压缩文件

语法:gunzip  [压缩文件]  或者gzip -d [压缩文件]

例:gunzip testfile.gz       gzip -d testfile.gz

 

tar --->打包目录

语法:tar 选项[cvf] [目录]

-c  产生.tar打包文件

-v 显示详细信息

-f  指定压缩后的文件名

-z 打包同时压缩文件

压缩后的文件格式:.tar.gz

 

例:tar -zcvf dir1.tar.gz dir1 将目录dir1压缩成一个打包并压缩的文件

注意: 命令file 可以判断任何一个文件的类型   例如:file new

 

压缩解压命令:tar

tar命令解压缩语法:

-x 解包.tar文件

-v 显示详细信息

-f 指定解压文件

-z 解压缩

例:tar -zxvf dir1.tar.gz

 

zip-->压缩文件或目录(适用于windows系统跟linux系统)

语法:zip 选项[-r]  [压缩后文件名称] [文件或目录]

-r 压缩目录

例:zip services.zip /etc/services

    zip -r test.zip /test

 

unzip-->解压.zip的压缩文件

语法:unzip [压缩文件]

例:unzip test.zip

 

 

bzip2-->压缩文件

语法:bzip2 选项[-k]  [文件]

-k 产生压缩文件后保留原文件

 

压缩后文件格式:.bz2

例:bzip2 -k file1  

 

bunzip2-->解压缩

bunzip2  选项[-k]  [文件]

-k 产生压缩文件后保留原文件

例:bunzip2 -k file1.bz2

 

网络通信命令

write -->向另外一个用户发送信息,以ctrl+d作为结束

语法:write <用户名>

例:write webmaster

注意:只能实时留言,不像qq

系统关机命令

wall-->向所有用户广播信息

语法:wall   [message]   [文件名]

例:wall happy new year

 

ping-->测试网络连通性

语法:ping 选项 IP地址

-c  表示发送的请求次数

ping -c 3 192.168.1.1  表示改变ping请求次数

-s 表示包大小

ping -s 6000  192.168.1.1  表示改变ping请求包的大小

例:ping 192.168.1.1

 

注意:丢包率

若ping别人的电脑不通,尝试ping 自己的ip地址,若再不行,就ping回还地址:172.0.0.1   

 

ifconfig-->查看网络设置信息

语法:ifconfig 选项[-a]   [网卡设备信息]

-a  显示所有网卡信息

例:ifconfig  -a    不写a,默认就是显示所有网卡信息

注意:可以暂时修改ip地址:ifcofig eth0 192.168.1.94   表示把eth0的ip地址改为192.168.1.94

 

 

shutdown-->关机

语法:shutdown

例:shutdown -h now  

 

reboot -->重启系统

语法:reboot

例:reboot

Shell应用技巧

 Bash应用技巧

命令补齐:允许用户输入文件名起始的若干个字,按Tab键补齐文件名

 

命令历史:history命令可以显示以前执行过的命令列表

方向键↑和方向键↓可以查找以前执行过的命令

 

命令别名

例:alias copy=cp   表示给cp命令取个copy的别名

alias xrm='rm -f'

 

查看别名信息:alias

删除别名:unalias copy

 

输入/输出重定向

0  标准输入

1 标准输出

2 标准错误输出

 

>或>> 输出重定向  (写入文件)

例:ls -l /tmp>/tmp.msg  覆盖以前tmp.msg中的内容

date >> /tmp.msg   不会覆盖以前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  查看etc目录下面的文件,并且文件包含字符串init的文件

 

命令连接符

; 间隔的命令按照顺序依次执行

 

&& 前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行

 

 

 

|| 前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它后面的命令才被执行

 

 命令替换符:将一个命令的输出作为另一个命令的参数

格式为:命令1  `命令2`

例:ls -l `which touch`   表示which touch 查询出来的路径信息作为ls -l 的参数  ,查询touch的详细信息

 

 

 

posted on 2020-03-14 23:10  福气满满好运连连  阅读(224)  评论(1编辑  收藏  举报