扫一扫浏览

linux常用命令大全,新手必备资料+带实例操作

未结贴
0 609
linux菜菜未认证 2018-12-19 14:07:27
收藏
如果你才开始学习Linux,那么它的一些常用命令你得掌握了,收集一下以备不时之须,不是最全的,但绝对是实用的。
原创文章,转载请注明文章来源。

1、目录相关操作

1.1、查看当前目录:pwd

[root@iZ23k9ijpsmZ ~]# pwd
/root
[root@iZ23k9ijpsmZ ~]# 

1.2、返回上级目录:cd ..

[root@iZ23k9ijpsmZ /]# cd ..
[root@iZ23k9ijpsmZ /]# 

1.3、进入某一个指定的文件夹 cd [文件相对|绝对路径]

[root@iZ23k9ijpsmZ /]# cd /usr/local/
[root@iZ23k9ijpsmZ local]# 
/usr/local 表示根目录下面的usr里面的文件夹local,这里是绝对路径。

1.4、列出文件夹里面的所有文件:ls

[root@iZ23k9ijpsmZ local]# ls
aegis                 bin  games    jdk7  lib64    mysql  share
apache-tomcat-8.0.26  etc  include  lib   libexec  sbin   src
[root@iZ23k9ijpsmZ local]# 

1.5、其它技巧

cd跟cd ~都表示直接回到/root目录
cd - 表示回去之前的那个目录
[root@iZ23k9ijpsmZ local]# cd ~
[root@iZ23k9ijpsmZ ~]# cd -
/usr/local
[root@iZ23k9ijpsmZ local]# 

2、文件与文件夹操作

2.1、创建文件夹:mkdir [-mp] 目录名称

-m:权限设置
-p:递归建立目录
#直接创建test目录
[root@iZ23k9ijpsmZ ~]# mkdir test
[root@iZ23k9ijpsmZ ~]# mkdir test/test1/test2
mkdir: cannot create directory `test/test1/test2': No such file or directory
#直接创建test/test1/test2这样的目录报错,那么怎么办?  加-p
[root@iZ23k9ijpsmZ ~]# mkdir -p test/test1/test2
#创建test2目录,并直接给予777的权限
[root@iZ23k9ijpsmZ ~]# mkdir -m 777 test2
[root@iZ23k9ijpsmZ ~]# ls -l
drwxrwxrwx 2 root root 4096 Jun 10 10:03 test2

2.2、删除目录:rmdir [-p] 目录

[root@iZ23k9ijpsmZ ~]# ls
build_site  default_pass  soft  test  test2  tool
#删除test2目录
[root@iZ23k9ijpsmZ ~]# rmdir test2
[root@iZ23k9ijpsmZ ~]# ls
build_site  default_pass  soft  test  tool
#删除test目录出错,里面不为空,就算有空的文件夹
[root@iZ23k9ijpsmZ ~]# rmdir test
rmdir: failed to remove `test': Directory not empty
#加 -p 就可把整个目录删除,不过要完整的哦
[root@iZ23k9ijpsmZ ~]# rmdir -p test/test1/test2
[root@iZ23k9ijpsmZ ~]# ls
build_site  default_pass  soft  tool

2.3、复制文件与目录:cp [-adfilprsu] 来源文件 目录文件

可选参数不做一一详解,说常用的: -i 若目标文件已经存在时,在覆盖时会先询问动作的进行
-r 可以复制目录,递归持续复制
[root@iZ23k9ijpsmZ ~]# cp /root/test /home/test2
cp: omitting directory `/root/test'
#不加 -r 就不行,那当然-a也行
[root@iZ23k9ijpsmZ ~]# cp -r /root/test /home/test2
#重复操作加-i 会提示是否要覆盖操作,再次执行-r也会出现提示
[root@iZ23k9ijpsmZ ~]# cp -a -i /root/test /home/test2
cp: overwrite `/home/test2/test/20160608 1647 ?..?.繁澶.??.?[1405620162] - ?..YAN[2381743267].che'? y

2.4、删除文件或目录 rm [-fir] 目录

-r:递归删除,最常用的删除目录选项,也是最危险的删除选项,删除请注意了。
# 删除不了,因为test2不是空目录
[root@iZ23k9ijpsmZ ~]# rm -r /home/test2
rm: descend into directory `/home/test2'? Y
rm: remove regular file `/home/test2/20160608 1647 ?..?.繁澶.??.?[1405620162] - ?..YAN[2381743267].che'? y
rm: remove directory `/home/test2'? y
#里面会一直循环的按y来删除文件与目录,如果很多情况,烦的,但也是一种保护措施,哈哈。那我确定要完全删除怎么办?看下面的
[root@iZ23k9ijpsmZ ~]# \rm -r /home/test2
考虑好了再做哦~~~

2.5、移动文件或目录,或更名:mv [-fiu] ..

-f:强制执行覆盖
-i:存在时询问是否覆盖
-u:存在的同时,源文件比较新时,才会覆盖
#把/root/test里面的内容全部移动到/home/test2里面去
[root@iZ23k9ijpsmZ ~]# mv /root/test /home/test2

2.6、改变文件的所属群组:chgrp [-R] ..

-R:递归处理
记住是大写的R
[root@iZ23k9ijpsmZ ~]# chgrp -R users /home/test2

2.7、改变文件拥有者:chown

两种方式:
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
#将/home/www文件里面所有东西授权于用户www
[root@iZ23k9ijpsmZ ~]# chown -R www /home/www

2.8、改变文件的权限:chmod [-R] ..

-R:递归处理
记住是大写的R
权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。
[root@iZ23k9ijpsmZ ~]# chmod 777 /home/test2

3、系统相关操作

3.1、显示日期指令:date

[root@iZ231g8ylf3Z local]# date
Fri Jun 10 17:06:44 CST 2016
[root@iZ231g8ylf3Z local]# date +%Y/%m/%d
2016/06/10
[root@iZ231g8ylf3Z local]#

3.2、查看内核/操作系统/CPU信息:uname -a

[root@iZ231g8ylf3Z local]# uname -a
Linux iZ231g8ylf3Z 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

3.3、查看计算机名:hostname

[root@iZ231g8ylf3Z local]# hostname 

3.4、查看环境变量资源:env

[root@iZ231g8ylf3Z local]# env 

3.5、查看环境变量资源:env

[root@iZ231g8ylf3Z local]# env 

3.6、查看各分区使用情况 :df -h

[root@iZ231g8ylf3Z local]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G  5.3G   32G  15% /
devtmpfs        489M     0  489M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M   51M  447M  11% /run

3.7、关闭计算机

#shutdown [-t秒] [-arkhncfF] 时间 [警告信息]
[root@iZ231g8ylf3Z local]# shutdown

3.8、要的几个热键[Tab],[ctrl]+ c, [ctrl]+d

[Tab]按键---具有『命令补全』的功能
[Ctrl]+c按键---让当前的程序『停掉』
[Ctrl]+d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit

3.9、其它常用命令

#查看内存使用量和交换区使用量
[root@iZ231g8ylf3Z local]# free -m
#查看指定目录的大小
[root@iZ23k9ijpsmZ ~]# du -sh /home/www
204K	/home/www
# 查看内存总量
[root@iZ23k9ijpsmZ ~]# grep MemTotal /proc/meminfo
MemTotal:        1018600 kB
# 查看空闲内存量
[root@iZ23k9ijpsmZ ~]# grep MemFree /proc/meminfo
MemFree:           61144 kB
# 查看所有分区
[root@iZ23k9ijpsmZ ~]# fdisk -l
# 查看所有监听端口
[root@iZ23k9ijpsmZ ~]# netstat -lntp
# 查看所有进程 
[root@iZ23k9ijpsmZ ~]# ps -ef
# 查看所有已经建立的连接 
[root@iZ23k9ijpsmZ ~]# netstat -antp
# 实时显示进程状态用户  
[root@iZ23k9ijpsmZ ~]# top
# 查看活动用户  
[root@iZ23k9ijpsmZ ~]# w
# 查看指定用户信息  
[root@iZ23k9ijpsmZ ~]# id [用户名]
# 查看用户登录日志  
[root@iZ23k9ijpsmZ ~]# last
# 查看系统所有用户  
[root@iZ23k9ijpsmZ ~]# cut -d: -f1 /etc/passwd
#查看系统所有组 
[root@iZ23k9ijpsmZ ~]# cut -d: -f1 /etc/group

4、执行文件操作

4.1、查找执行文件所在地方:which [-a] command

-a:列出所有找到的指令
[root@iZ23k9ijpsmZ ~]# which ifconfig
/sbin/ifconfig

4.2、查找特定文件:whereis

[root@iZ23k9ijpsmZ ~]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

4.3、查找特定文件:locate [-ir] keyword

-i : 忽略大小写的差异
-r : 后面可接正规表示法的显示方式
[root@iZ23k9ijpsmZ ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
...

4.4、查找特定文件:find

语法:find [指定查找目录] [查找规则] [查找完后执行的action]

5、文件解压缩操作

5.1、gzip与gunzip

语法:gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段: 压缩文件的大小 未压缩文件的大小 压缩比 未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,
-1或--fast表示最快压缩方法(低压缩比),
-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
压缩保留原文件:
gzip –c filename > filename.gz
#把/home目录下的每个文件压缩成.gz文件。
[root@iZ23k9ijpsmZ ~]# cd /home
[root@iZ23k9ijpsmZ ~]# gzip *
[root@iZ23k9ijpsmZ test2]# gzip *
[root@iZ23k9ijpsmZ test2]# gunzip -rv test.che.gz
test.che.gz:	 72.2% -- replaced with test.che

5.2、tar

语法:tar [主选项+辅选项] 文件或者目录
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
x 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文件。
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
#将整个 /etc 目录下的文件全部打包成为 /tmp/etc.
[root@linux ~]# tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊

#查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!

#将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz
# 则解开的目录会在 /usr/local/src/etc ,另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

#在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

#我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
最近热帖 HOT TOPIC
thinkphp5隐藏默认模块的一些问题 1795
父元素flex之后,子元素高度自适应问题 1747
【全套视频】thinkphp5视频教程 1622
教你如果处理高并发数据不同步的问题php篇 1463
关于thinkphp5.0.x getshell漏洞的说明 1409
tpframe新建主题 1333
tpframe安装教程 1310
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1306
TPFrame框架robot模块重磅来袭,内附2.1版本 1303
移动web资源整理,你值得收藏的干货 1290
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 4
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
爆料早知道:Tcms小程序功能已上线我有好想法