您的位置:首页 > 运维架构 > Linux

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#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: