Linux常用操作
2018-01-08 00:00
423 查看
基本操作
[Tab],[ctrl]-c, [ctrl]-d[Tab]按键---具有『命令补全』不『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
帮助指令:man
q退出
开关机
shutdowm
shutdown -h now:表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now 立即重启
halt
没有参数,直接使用,效果等价于关机
reboot
没有参数,直接使用,效果等价于重启
sync
把内存的数据同步到磁盘。
注意细节:当我们关机或者重启时,都应该先执行sync指令,把内存的数据写入磁盘,防止数据丢
登录与注销
基本介绍:
1)登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误,可以利用普通用户登录,登陆后再用“su root”命令来切换成系统管理员身份。
2)在提示符下输入logout即可注销用户。
使用细节:
1)logout注销指令在图形运行级别无效,在运行级别3下有效,什么是运行级别可以看下面。
文件目录类指令
pwd:打印当前目录的绝对路径cd:进入某一目录,比如cd ../ 表示返回上一层
mkdir[-m][-p]:创建一个目录
-m:这个参数用来指定要创建目录的权限。
root@DESKTOP-V75CQEN:/# cd /home root@DESKTOP-V75CQEN:/home# mkdir -m 711 dir1 root@DESKTOP-V75CQEN:/home# ls -l total 0 drwx--x--x 0 root root 512 Apr 2 10:30 dir1 <==我们创建的dir1 -rw-rw-rw- 1 root root 0 Apr 2 10:05 hello.txt root@DESKTOP-V75CQEN:/home#
-p:创建多级目录,比如想要创建/home/test/hello
root@DESKTOP-V75CQEN:/home# mkdir dir1/dir2/dir3 root@DESKTOP-V75CQEN:/home/dir1/dir2/dir3# pwd /home/dir1/dir2/dir3 root@DESKTOP-V75CQEN:/home/dir1/dir2/dir3#
rmdir[-p]:删除一个目录
-p:和mkdir中-p的用法类似,rmdir -p d1/d2/d3相当于是删除了d1,d1/d2, d1/d2/d3。如果一个目录中还有目录,那么当你直接rmdir 该目录时,会提示该目录不为空,不能删除。
rm[-f][-i][-r]:删除目录或文件
rmdir 只能删除目录但不能删除文件,要想删除一个文件,则要用rm命令了。
-f:强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。
-i:当用户删除一个文件时会提示用户是否真的删除。
-r:可以级联删除目录或文件
3ff0
一般用法:如果需要删除非空目录,需要使用 rm -rf 要删除的目录。
ls[-a][i]:查看指定目录所有的文件和目录
-a:可以查看到隐藏的文件
-l:以列表的形式显示信息,ls-l 相当于ll
-h:以人类易读的方式显示出来
touch:创建空文件
touch 文件目录,比如touch hello.txt
也可以同时创建多个文件比如:touch hello1.txt hello2.txt
cp:拷贝文件到指定目录。
基本用法:
cp[-r][i] source dest
-r :递归复制整个文件夹
-i:当文件存在时会问用户是否覆盖
mv:移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile (重命名)
ex:mv aaa.txt bbb.txt
mv /temp/movefile /targetFolder(移动文件)
ex: mv bbb.txt /root/
cat[-n]:查看文件内容,采用只读的方式打开
-n:显示行号
-v:列出一些看不出来的特殊字符
-E:将结尾的断行字符$显示出来
cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令more
cat 文件名 |more(分页浏览)
more:按页显示文本文件的内容
如:more /etc/profile
Enter:下一行
q:立即离开more
ctrl+b:返回上一屏
sapce:向下翻一页
less:和more指令类似,但是less指令在显示文件内容时,并不是一次性将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
如:less /etc/profile
space:向下翻一页
pagedown:向下翻一页
pageup:向上翻一页
/字串 :向下搜索[字串]的内容:n向下查找;N:向上查找
?字串 :向上搜索[字串]的内容:n向上查找;N:向下查找
q:离开less这个程序
>和>>指令
>输出重定向:会把原来的文件的内容覆盖
>>追加:把内容追加到文件的尾部
基本用法:
1、ls -l>a.txt(功能描述:列表的内容写入到文件a.txt),如果a.txt文件不存在则自动创建该文件。
2、ls -l >>a.txt (功能描述:列表的内容追加到文件a.txt的末尾)
3、cat 文件1>文件2(功能描述:将文件1的内容覆盖到文件2)
4、echo "内容" >>文件
echo :输出内容到控制台
常用于输出变量的值:比如输出环境变量。echo $PATH
head:用于显示文件开头部分内容,默认情况下head指令显示文件的前十行内容。
head 文件(功能描述:查看文件头的前十行内容)
head -n 5 文件(功能描述:查看文件头前5行内容)
tail:用于输出文件尾部的内容,默认情况下tail指令显示文件的后10行内容。
tail 文件 (功能描述:查看文件后10行内容)
tail -n 5 文件(功能描述:查看文件后5行内容)
tail -f 文件(功能描述:实时追踪该文档的所有更新)
ln指令:软链接也叫符号链接,类似windows里的快捷方式。
比如:在/home目录创建一个软链接linkToRoot,链接到/root目录
root@DESKTOP-V75CQEN:/home# ln -s /root linkToRoot root@DESKTOP-V75CQEN:/home# ls -l total 0 lrwxrwxrwx 1 root root 5 Apr 2 09:55 linkToRoot -> /root root@DESKTOP-V75CQEN:/home#
删除软链接linkToRoot
root@DESKTOP-V75CQEN:/home# rm -rf linkToRoot root@DESKTOP-V75CQEN:/home# ls -l total 0 root@DESKTOP-V75CQEN:/home#
history指令:查看已经执行过的历史命令。
root@DESKTOP-V75CQEN:/home# history 1 echo hello 2 ln -s /home/ /root totroot 3 cd home 4 cd /home 5 ls 6 ln -s /root toroot 7 ls-l 8 ls -l 9 del toroot 10 rm -rf toroot 11 ls -l 12 cd /mnt 13 cd e 14 ls -l 15 history 16 cd ../ root@DESKTOP-V75CQEN:/home#
如果想只显示最近使用的10条指令:
root@DESKTOP-V75CQEN:/home# history 10 17 cd / 18 history 19 cd /home 20 ls 21 ln -s /root linkToRoot 22 ls -l 23 rm -rf linkToRoot 24 ls -l 25 history 26 history 10 root@DESKTOP-V75CQEN:/home#
18、复制档案或目录:cp
19、移除档案或目录:rm
20、移动档案与目录,或更名:mv
21、取得路径的文件名与目录名:basename,dirname
24、显示的时候,顺道输出行号:nl
25、一页一页的显示档案内容:more
26、与 more 类似,但是比 more 更好的是,他可以往前翻页:less
27、只看头几行:head
28、只看尾几行:tail
29、以二进制的放置读取档案内容:od
30、修改档案时间或新建档案:touch
31、档案预设权限:umask
32、配置文件档案隐藏属性:chattr
33、显示档案隐藏属性:lsattr
34、观察文件类型:file
35、寻找【执行挡】:which
36、寻找特定档案:whereis
搜索查找类
find:从指定目录向下递归地比遍历各个子目录,将满足条件的文件或者目录显示在终端。基本语法:
find [path] [option] [action]
option选项:
通过文件名查找:
root@DESKTOP-V75CQEN:/home# find /home -name hello.txt /home/hello.txt
根据部分文件名查找:
root@DESKTOP-V75CQEN:/home# find /home -name "hello*" /home/hello.txt
根据文件的特征查询:
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件
find / -size +20M #查找在系统中大于20M的文件
find / -size -20M #查找在系统中小于20M的文件
find还有很多用法,具体可以查看手册。
locate[-i]:locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名和路径的locate数据库实现快速定位给定的文件,locate指令无需遍历整个文件系统,所以查询速度较快,为了保证查询结果的准确性,管理员必须定时更新locate数据库。
-i :忽略大小写
注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
定位hello.txt所在目录:
root@DESKTOP-V75CQEN:/home# updatedb root@DESKTOP-V75CQEN:/home# locate hello.txt /home/hello.txt root@DESKTOP-V75CQEN:/home#
grep指令
grep[-n][-i] 查找内容 源文件:实现对文件内容的过滤查找
-n:显示匹配行和行号
-i:忽略大小写
root@DESKTOP-V75CQEN:/home# grep -ni yes hello.txt 2:yes 4:yes 6:Yes
管道符号 |
表示将前一个命令的处理结果传递给后面的命令进行再处理。
root@DESKTOP-V75CQEN:/home# cat hello.txt | grep -ni yes 2:yes 4:yes 6:Yes
压缩和解压类
在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以下介绍常见的后缀名所对应的压缩工具。
.gz gzip 压缩工具压缩的文件
.bz2 bzip2 压缩工具压缩的文件
.zip zip压缩工具压缩的文件
.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)
.tar.gz 可以理解为先用tar打包,然后再gzip压缩
.tar.bz2 同上,先用tar打包,然后再bzip2压缩
3ff0
gzip [-d#] filename 其中#为1-9的数字
-d :解压缩时使用
-# :压缩等级,1压缩最差,9压缩最好,6为默认
注意:gzip不可压缩目录。
压缩hello.txt
root@DESKTOP-V75CQEN:/home/hello# gzip hello.txt root@DESKTOP-V75CQEN:/home/hello# ls -l -rw-rw-rw- 1 root root 53 Apr 2 11:39 hello.txt.gz root@DESKTOP-V75CQEN:/home/hello#
解压hello.txt.gz
方式1:
root@DESKTOP-V75CQEN:/home/hello# gzip -d hello.txt.gz root@DESKTOP-V75CQEN:/home/hello# ls -l -rw-rw-rw- 1 root root 28 Apr 2 11:39 hello.txt root@DESKTOP-V75CQEN:/home/hello#
方式2:
root@DESKTOP-V75CQEN:/home/hello# gunzip hello.txt.gz root@DESKTOP-V75CQEN:/home/hello# ls -l -rw-rw-rw- 1 root root 28 Apr 2 11:39 hello.txt root@DESKTOP-V75CQEN:/home/hello#
使用zcat可以读取gz压缩文件。
bzip2:
语法:bzip2 [-dz] filename
-d :解压缩
-z :压缩
root@DESKTOP-V75CQEN:/home/hello# bzip2 -z hello.txt root@DESKTOP-V75CQEN:/home/hello# ls -l -rw-rw-rw- 1 root root 62 Apr 2 11:39 hello.txt.bz2 root@DESKTOP-V75CQEN:/home/hello# bzip2 -d hello.txt.bz2 root@DESKTOP-V75CQEN:/home/hello# ls -l -rw-rw-rw- 1 root root 28 Apr 2 11:39 hello.txt root@DESKTOP-V75CQEN:/home/hello#
跟gzip的解压类似,不可压缩目录。
使用bzcat可以读取bz2压缩文件。
zip/unzip :zip 用于压缩文件,unzip用于解压文件。
zip 常用选项
-r 递归压缩,将制定目录下的所有文件和子目录一并处理。
root@DESKTOP-V75CQEN:/home# ls -l drwxrwxrwx 0 root root 512 Apr 2 16:01 hello drwxrwxrwx 0 root root 512 Apr 2 16:10 zipdir root@DESKTOP-V75CQEN:/home# zip -r hello.zip hello/ adding: hello/ (stored 0%) adding: hello/hello.txt (deflated 11%) root@DESKTOP-V75CQEN:/home# ls -l drwxrwxrwx 0 root root 512 Apr 2 16:01 hello -rw-rw-rw- 1 root root 345 Apr 2 16:11 hello.zip drwxrwxrwx 0 root root 512 Apr 2 16:10 zipdir root@DESKTOP-V75CQEN:/home#
unzip常用选项
-d <目录> :制定解压后文件的存放位置
root@DESKTOP-V75CQEN:/home# unzip -d zipdir/ hello.zip Archive: hello.zip creating: zipdir/hello/ inflating: zipdir/hello/hello.txt root@DESKTOP-V75CQEN:/home# cd zipdir/ root@DESKTOP-V75CQEN:/home/zipdir# ls -l drwxrwxrwx 0 root root 512 Apr 2 16:01 hello root@DESKTOP-V75CQEN:/home/zipdir#
tar:打包指令,严格来说应该是打包压缩指令。因为在打包的同时常常伴随着解压缩。
语法:tar [-zjxcvfpP] filename
-z :是否同时用gzip压缩
-j :是否同时用bzip2压缩
-x :解包或者解压缩
-t :查看tar包里面的文件
-c :建立一个tar包或者压缩文件包
-v :可视化
-f :后面跟文件名,压缩时跟-f文件名,意思是压缩后的文件名为filename,解压时跟-f文件名,意思是解压filename。请注意,如果是多个参数组合的情况下带有-f,请把f写到最后面。
打包的同时使用gzip压缩
root@DESKTOP-V75CQEN:/home# tar -zcvf hello.tar.gz hello/ hello/ hello/hello.txt root@DESKTOP-V75CQEN:/home# ls -l drwxrwxrwx 0 root root 512 Apr 2 16:01 hello -rw-rw-rw- 1 root root 173 Apr 2 16:24 hello.tar.gz root@DESKTOP-V75CQEN:/home#
删除hello后,用tar -zxvf来解压.tar.gz的压缩包
root@DESKTOP-V75CQEN:/home# ls -l -rw-rw-rw- 1 root root 173 Apr 2 16:24 hello.tar.gz root@DESKTOP-V75CQEN:/home# tar -zxvf hello.tar.gz hello/ hello/hello.txt root@DESKTOP-V75CQEN:/home# ls -l drwxrwxrwx 0 root root 512 Apr 2 16:01 hello -rw-rw-rw- 1 root root 173 Apr 2 16:24 hello.tar.gz root@DESKTOP-V75CQEN:/home#
相同的用法还有:
-jcvf 打包的同时用bzip2压缩
-jxvf解压缩.tar.bz2的压缩包
同时我们还经常使用 -tf查看.tar.bz2的压缩包
root@DESKTOP-V75CQEN:/home# tar -tf hello.tar.gz hello/ hello/hello.txt root@DESKTOP-V75CQEN:/home#