软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

linux常用命令大全,新手必备资料,带实例操作
发布于:第八基地 来源:第八基地 作者:天堂路上 时间:2016-06-10 点击:891
如果你才开始学习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
唉,终于整理OK了,累死我也~~~,真心希望能够帮助到大家
对我有帮助
(1)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈