20170405_Linux视频学习2——Linux系统的基本命令
1、文件搜索命令
(1)which:定位到这个命令所在的绝对路径
which 命令名称——显示系统命令所在目录
which ls:会显示命令的别名记录。
which chmod
这些命令在系统不同的文件夹里面,有些只能由root使用,有些所有人都可以使用。
whereis ls:会显示命令的帮助文档。
(2)find:查找文件或目录:占用系统资源越少越好
find 搜索路径 搜索关键字(尽量不要在根目录下查找!会占用庞大的系统资源!)
-name 文件名 查找指定文件名的文件
find /ect -name init 在目录 /etc中查找文件 init
find /etc -name *init*
find /etc -name init???
通配符:
* 匹配任意字符(比如:init* 是以 init 开头的文件名称、*init*)
? 匹配单个字符(比如:init??? 是以 init 开头的且后面只跟三个字符的名称的文件)-size 文件大小、查找指定大小的文件(Linux系统下的文件大小是以数据块为单位:数据块大小是512字节)
文件大小 大于 某个数值的文件 +
文件大小 小于 某个数值的文件 -
512字节 = 0.5KB
1KB = 2倍的512字节
100MB = 102400KB = 204800 数据块
find -size +204800
-user 文件所有者、查找隶属于某一个用户的文件
find /home -user samlee 在目录home下查找所以用户是samlee的文件
根据时间查找:有2组
1组:以天为单位: ctime、atime、mtime
2组:以分钟为单位:cmin、amin、mmin
c —— change:改变,表示文件属性被修改过,所有者、所属组、权限
a —— access:访问
m —— modify:修改,表示文件内容被修改过
- 之内,+ 超过
连接符: -a:and:逻辑与
-o:or:逻辑或
find /etc -size +163840 -a -size -204800 在/etc目录下查找大于80MB且小于100MB的文件
find /etc -name inittab -o -size +204800 在/etc目录下查找文件名是inittab或大于1000MB的文件
连接符: -exec:表示对 find 找到的结果进行二次操作
find ------ -exec 命令 {} \ ; (访问操作时不确认)
find ------ -ok 命令 {} \ ; (访问操作时确认)
{} 表示查找的结果
\ 转义符、表示符合本身的含义
; 表示语句的结束
which rm
发现 rm 有一个别名:rm = rm -i
rm testfile
\rm testfile
find /test -name testfile3 -exec rm {} \;
find /test -uesr samlee -exec rm {} \;
find /etc -name init* -a -type f -exec ls -l {} \;
ls -i(显示文件的i结点——inode)
-inum :i 结点
find . -inum 16
find . -inum 16 -exec rm {} \;
ls
-type 文件类型
-type f:二进制文件 file
-type l:软链接文件 link
-type d:目录 directory
(3)locate
locate 文件名:寻找文件或目录,列出跟file相关的文件
locate filename
locate service(它是系统文件)
cd /test
touch file2
locate file2
ls
updatedb:建立整个系统目录文件的数据库(系统会自动更新datebase)
范例:updatedb
(4)grep
grep 指定字符串 源文件
grep:在文件中搜索字符串匹配的行并输出
grep ftp /etc/service
grep tftp /etc/service
2、帮助命令
(1)man:manual:获得帮助信息
man 命令名称:获得命令的帮助信息
man ls
man find
man 系统配置文件名:获得系统的配置文件的帮助信息
man service
man 会自动调用 more 命令来浏览帮助文档;
在more 命令下,按键“空格”表示翻下一页、按键“enter”表示下一行,按键“Q 或者q”表示退出。
passwd usename:设置用户的密码或者更改密码
帮助信息的种类:9种:1-9
第1种:默认的是查看命令的帮助
第5种:配置文件的帮助man passwd:默认的是查看命令的帮助
man 1 passwd:默认的是查看命令的帮助
man 5 passwd :查看的是配置文件的帮助
(2)info:information
info 命令名称:查看命令的帮助信息
info ls
info find
(3)whatis :直接定位到命令的基本用法的所在行
whatis 命令名称
whatis whereis
whatis ls
更新数据库信息:makewhatis
(4)命令名称 --help:显示这个命令的选项
find --help
ls --help
(5)help
功能:查看shell 内置命令的帮助信息
cd /
man cd
man bash(内置的命令文件)
help cd
help pwd
2、压缩解压缩命令
(1)压缩解压命令:gzip
压缩文件(在Windows下的 压缩文件 拷贝到在Linux下不一定可以直接解压缩,但是反之是可以的!)
压缩包文件后缀名:.gz
gzip 文件名
gzip newfile(正确)
gzip的特点:只能压缩文件,不能压缩目录。只保留压缩文件,不保留源文件(源文件被删除了)
gzip newdir(错误)
解压缩:gunzip 或者 gzip -d
gunzip 压缩文件名
gunzip newfile.gz
(2)tar
打包:
.tar.gz 格式
tar 选项 目录
选项如下:
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的压缩包名字
-z:打包同时压缩
ls
tar -zcf newdir.tar.gz dir1 :将目录dir1压缩成一个打包并压缩的文件newdir.tar.gz
tar -zcf newdir.tar.gz newdir
ls
ls -l newdir.tar.gz
tar -zcf new newdir
file new:查看这个文件的文件类型
tar -cf newdir4.tar newdir:先打包
ls
gzip newdir4.tar:后压缩
ls
解包:
-x:解包.tar的打包文件
-v:显示详细信息
-f:指定解压文件
tar -zxf newdir4.tar.gz :解压缩的同时解包
或者:
gunzip newdir.tar.gz:解压缩
tar -xf new.tar:解包
(3)zip
.zip :默认的Windows和Linux都通用的压缩包的格式(不强调压缩比的时候)
压缩文件和压缩目录都可以。(会保留源文件的)
zip new.zip new(压缩文件)
ls
zip -r newdir.zip newdir(压缩目录)
ls
解压缩:unzip 压缩文件
unzip new.zip
(4)bzip2(压缩比很大)只能压缩文件,不能压缩目录。(想要压缩目录时,先用 tar 打包,在压缩)
.bz2
选项 -k
bzip2 -k file(保留源文件)
bzip2 file(不保留源文件)
解压缩文件:
bunzip2 压缩文件
bunzip2 file.bz2
3、网络通信命令:write
(1)write:向另外一个用户发送信息,以Ctrl+D作为结束。
write 用户名
然后开始写信息。
wall:广播信息
wall bbs.lampbrother.net
(2)测试网络是否联通:ping (丢包率)
ping 选项:IP地址
ping 192.168.1.1
ping -t 192.168.1.1
ping -c 3 192.168.1.1(ping的包的次数)
ping -s 65506 192.168.1.1(ping的包的大小)
ifconfig(Linux下看网卡地址)
ipconfig(Windows下看IP地址信息)
ifconfig:查看网络设置信息
( 选项 -a 显示所有的网卡信息)
ifconfig
ifconfig -a:显示所有的网卡信息
有两块网卡:eth0(实际的物理网卡)
lo:回环地址的网卡
ifconfig eth0
改变网卡的地址:(需要写到配置文件中才起作用)
ifconfig eth0 192.168.9.6
4、系统关机命令
shuntdowm 默认一段时间之后在关机
shutdowm -h now 马上关机
shutdown -h 600 (600秒后关机)
重启系统:
reboot
5、shell应用技巧
(1)shell:命令解释器
(2)bash
cat /etc/shells
(3)tap键:补全文件名的功能、命令的补全
clear = Ctrl + l:清屏
ctrl + u :删除光标前面的所有的字符
命令历史:
history:列出你所敲出的所有的命令—— !188:执行这个188个命令
按键:方向的上下箭头
6、别名应用,命令的别名:alias
(1)定义别名
查看别名信息:alias
alias 别名名称 命令名称
定义别名:alias copy=cp
删除别名:unalias cpoy
alias xrm=“rm -r”:别名组合需要有双引号“ ”
alias drm=“rm -rf”
unalias drm
7、输入输出重定向
输入不从stdin输入,输出不输出到stdout上,称之为重定向。
文件描述字:0、1、2
(1)标准输入:键盘:stdin:0
(2)标准输出:显示器:stdout:1
(3)标准错误输出:stderr:2
< 输入重定向
> 输出重定向,但是是覆盖原有内容
>> 也是输出重定向,但是是追加在原有内容的后面
ls -l /temp > /tmp.msg
date >> /temp.msg
wall < /etc/motd
wall > /etc/issue
cp -R /user /backup/usr.bak 2> /bak.err
意思是指:进行备份文件 user 到文件夹下 backup 下的 usr.bak,备份错误时则写出错误日志——bak.err,里面写的是错误日志。要是没有错误,则里面没有内容。
>
>>
0>
0>>
<
1<
2>
8、管道:可以将一个命令的输出 传送 给另一个命令,作为另一个命令的输入。
ls -l /etc
ls -l /etc | more(管道:分页浏览等)
ls -l /etc | grep init
man wc
wc -l /etc/service:记录这个文件有多少行!
ls -l /etc | grep init | wc -l
9、命令连接符:
; —— 表示各个命令按顺序依此执行。然后可以把各个命令运行的出错信息写在日志里面。
&& —— 只有 && 前面的命令执行成功, && 后面的命令才会被执行。 前面执行失败,后面也不会执行。
|| —— 只有 || 前面的命令执行失败, || 后面的命令才会被执行。 前面执行成功,后面不会执行。
write Mary < /home/cmm/love.txt && rm /home/cmm/love.txt 2> love.msg
write Mary < /home/cmm/love.txt || mail Mary < /home/cmm/love.txt
10、命令替换符:将一个命令2的输出 作为 另一个命令1的参数。
命令1 `命令2`
ls -l `which touch`