还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

常用Linux命令详解(持续更新)

来源:清泛原创     2015-07-27 08:22:50    人气:     我有话说( 0 人参与)

对我们日常工作中经常会用到的一些Linux命令进行一下详解。logout,shutdown,reboot,useradd,passwd,ls,ll,cd,mkdir,vi,cp,rm,mv,chmod,chown,find,grep,tail,tar,gzip,fdisk,kill,netstat等。

一、注销,关机,重启,新建用户、删除用户
1. 注销系统的命令
logout 、exit
这两个命令都可以用来退出当前所登录的服务器,若想再次进入服务器需要重新输入用户名和密码
2.关机或重新启动的命令
shutdown
用来对系统做关机或重启操作,详细的命令参数请输入:shutdown -h 进行查看
shutdown now       关机命令
shutdown -r now    关机重启命令
3. 重新启动计算机的命令 
reboot
用来重新启动系统,直接输入reboot即可
4. 新建用户的命令
useradd kedacom     新增一个kedacom的用户
passwd  kedacom    为新增的用户设置登陆密码或为已存在用户修改密码
5. 删除用户的命令
userdel -r kedacom   删除用户
 
二、文件与目录的操作 
1. 列出文件列表的ls命令(详解)
ls(list)命令用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下: 
显示当前目录的内容
[root@KEDACOM ~]# ls
NRU_CMU_DISK_SIZE_NOTIFY2008  anaconda-ks.cfg  install.log  install.log.syslog
显示名称以“.”开头的隐藏文件
[root@KEDACOM ~]# ls -a 
.bash_histor .bash_profile .cshrc .ssh NRU_CMU_DISK_SIZE_NOTIFY2008 install.log .bash_logout .mysql_history.TMP .tcshrc anaconda-ks.cfg
显示每个文件详细的信息(包括文件类型、权限、大小、所属组、创建时间等)(ls -l 等同于 ll 命令)
[root@KEDACOM ~]# ls -l
total 64
-rw-r--r--  1 root root     0 Jun 29 17:50 NRU_CMU_DISK_SIZE_NOTIFY2008
-rw-r--r--  1 root root   933 Jan 10  2002 anaconda-ks.cfg       文件
drw-r--r--  1 root root 49431 Jan 10  2002 install               目录
-rw-r--r--  1 root root  3331 Jan 10  2002 install.log.syslog
ls命令后直接加上欲显示的目录路径,就会列出该目录的内容
[root@KEDACOM /]# ls root/
NRU_CMU_DISK_SIZE_NOTIFY2008  anaconda-ks.cfg  install.log  install.log.syslog
 
2. 切换目录的cd命令 
cd(change directory)命令可让用户切当前所在的目录
[root@KEDACOM ~]# cd temp      ← 切换到当前目录下的temp子目录 
[root@KEDACOM ~]# cd ..        ← 切换到上一层目录 
[root@KEDACOM ~]# cd /         ← 切换到系统根目录 
[root@KEDACOM ~]# cd           ← 切换到用户主目录 
[root@KEDACOM ~]# cd /usr/bin  ← 切换到/usr/bin目录

3. 创建目录的mkdir命令 
mkdir(make directory)命令可用来创建子目录。以下例子是在当前目录下创建tool子目录。
[root@KEDACOM temp]# mkdir tool
[root@KEDACOM temp]# ls
tool
vi a.txt
  Hello everyone!
:wq //在退出时,直接输入:wq会发现退不出去,退出方法是:编辑完成后按ESC,然后输入:q就是退出;还有:wq是保存后退出,加感叹号是表示强制


4. 复制文件的cp命令 
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令将一个文件复制成另一个文件或复制到某个目录时,需要指定原始
lsccpm文件名与目的文件名或目录。范例如下: 
将data.txt复制成data1.txt
[root@KEDACOM temp]# cp data.txt data1.txt
[root@KEDACOM temp]# ls
data.txt  data1.txt  tool
将data1.txt复制到上一级目录的data目录中
[root@KEDACOM temp]# cp data1.txt ../data
[root@KEDACOM temp]# ls ../data
data1.txt
显示复制过程:加入-v参数可显示命令执行过程
[root@KEDACOM temp]# cp -v data1.txt ../data/data3.txt
'data1.txt' -> '../data/data3.txt'
[root@KEDACOM temp]# ls ../data/
data1.txt  data2.txt  data3.txt
逐层复制:加入“-R”或“-r”参数可同时复制目录下的所有文件及子目录
[root@KEDACOM ~]# cp -vr temp data/
`temp' -> `data/temp'
`temp/tool' -> `data/temp/tool'
`temp/data1.txt' -> `data/temp/data1.txt'
`temp/data.txt' -> `data/temp/data.txt'
[root@KEDACOM ~]# cd data
[root@KEDACOM data]# ls
data1.txt  data2.txt  data3.txt  temp
[root@KEDACOM data]# cd temp/
[root@KEDACOM temp]# ls
data.txt  data1.txt  tool
 
5. 删除文件或目录的rm命令
rm(remove)命令可以删除文件或目录。范例如下:
删除指定文件
[root@KEDACOM temp]# rm file        ← 删除指定的文件 
[root@KEDACOM temp]# rm *           ← 删除当前目录中的所有文件  
强制删除:使用-f参数时,rm命令会直接删除文件,不再询问
[root@KEDACOM temp]# rm –f file    ← 强制删除文件
逐层删除:使用-r参数可同时删除指定目录下的所有文件及子目录
[root@KEDACOM temp]# rm –r data  ← 删除data目录(含data目录下所有文件和子目录) 
[root@KEDACOM temp]# rm –r *   ← 删除所有文件(含当前目录所有文件,所有子目录和子目录下的文件)
强制删除指定目录(当使用-r参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除目录或文件。若已确定要删除所存目录及文件,则可以使用-rf参数,系统将直接删除该目录中所有的文件及子目录,不再询问)
[root@KEDACOM temp]# rm –rf tmp   ← 强制删除tmp目录及该目录下所有文件及子目录
显示删除过程:使用-v 参数
[root@KEDACOM temp]# rm -vf file
removed 'file'
 
6.让显示画面暂停的more命令 
为了避免画面显示瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按Q键停止显示。 
使用ls命令查看文件列表时,若文件太多则可以配合more命令使用
[root@KEDACOM etc]# ls -al | more   ← “|”是管道符,将命令做为两部分依次执行
单独使用more命令时,可用来显示文字文件的内容
[root@KEDACOM temp]# more file
it.kedacom.com
172.16.0.1

7. 移动或重命名文件、目录名称的mv命令 
mv (move)命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下: 
将file.txt文件移到上co层目录
[root@KEDACOM tool]# mv file.txt ..
[root@KEDACOM tool]# ls ..
data.txt  data1.txt  file  file.txt  readme.txt  tool
将 file.txt改名成file1.txt
[root@KEDACOM temp]# mv file.txt file1.txt
[root@KEDACOM temp]# ls
data.txt  data1.txt  file  file1.txt  readme.txt  tool
将data 目录上移一层并重命名为data1
[root@KEDACOM tool]# mv data ../data1
[root@KEDACOM tool]# ls ..
data.txt  data1  data1.txt  file  file1.txt  readme.txt  tool
 
8. 显示当前所在目录的pwd命令
pwd(print working directory)命令可显示用户当前所在的目录
[root@KEDACOM data1]# pwd
/root/temp/tool/data1

9. 设置文件、目录权限的chmod命令
chmod命令可以对文件、目录的权限进行设置,权限分为三级:所有者(u)、群组(g)、其他(o) ,下面先对chmod命令一些基本参数进行认识:
<1>  -rw-r-x-wx     3个一组分别表示u(rw-)、g(r-x)、o(-wx)的权限
<2>  +  表示增加权限、 -  表示取消权限、 =  表示唯一设定权限
<3>  r  表示可读取权限、 w  表示可写入权限  、 x  表示可执行权限
<4>  r=4  用数字4表示r  、w=2  用数字2表示w  、x=1  用数字1表示x
范例讲解:(文件与目录用法一致: 第1个为“-“表示是文件、第1个为”d“表示是目录)
增加所有者对file文件的可写、可执行权限
[root@KEDACOM temp]# ll file
----------  1 root root   26 Jul  2 09:23 file
[root@KEDACOM temp]# chmod u+wx file
[root@KEDACOM temp]# ll file
--wx------  1 root root   26 Jul  2 09:23 file
删除群组用户对file文件的可写、可执行权限
[root@KEDACOM temp]# ll file
-rwxrwxrwx  1 root root 26 Jul  2 09:23 file
[root@KEDACOM temp]# chmod o-wx file
[root@KEDACOM temp]# ll file
-rwxr--rwx  1 root root 26 Jul  2 09:23 file
只赋予其他用户对file文件的读取权限
[root@KEDACOM temp]# ll file
-rwxrwxrwx  1 root root 26 Jul  2 09:23 file
[root@KEDACOM temp]# chmod o=r file
[root@KEDACOM temp]# ll file
-rwxrwxr--  1 root root 26 Jul  2 09:23 file
也可以通过纯数字的方式对权限进行设置:
r=4,w=2,x=1 
若要 rwx 权限则4+2+1=7
若要 rw- 权限则4+2=6
若要 r-x 权限则4+1=5
若要 r-- 权限则 4 ,依次计算权限
分别用3个数字表示u、g、o的权限
范例讲解: 
--wx------   可以设置成   chmod 300 file
-r-xr--rw-   可以设置成   chmod 546 file
-rwx-wxr--   可以设置成   chmod 734 file
 
思考 : 给 file 文件以下权限
  所有者(读取写入权限)群组(读取运行权限)其他用户(运行权限)
  如何执行命令? 
 
10. 查找文件、目录的find命令
使用find命令可以将当前目录及子目录下的指定名称的文件、目录都搜索并显示出来
[root@KEDACOM data]# find ./ -name "data*"
./data1.txt                                  命令参数:
./data2.txt                                  ./       表示在当前目录下查找
./data3.txt                                  -name    表示按名字查找
./temp/data1.txt                             data*    表示查找名字前4位为data
./temp/data.txt                                       后面为任意字符的文件、目录
./data4545
思考 : 如何在系统根目录下查找所有的 “data*” 文件?
 
三、文本操作
1. 显示文本内容的cat命令
cat(concatenate) 命令可以显示文件的内容(经常和more命令搭配使用),或是将数个文件合并成一个文件。范例如下: 
逐页显示 file.txt的内容:
[root@KEDACOM temp]# cat file.txt | more
将file的内容追加到file.txt文件之后:
[root@KEDACOM temp]# cat file >> file.txt
将new.txt和info.txt合并成readme.txt文件:
[root@KEDACOM temp]# cat file file.txt > readme.txt
>>  表示在文件末尾追加内容        >   表示直接覆盖原文件内容
 
2.创建、编辑文本操作的touch、vi命令
touch命令可以创建一个内容为空的文本文件
[root@KEDACOM temp]# touch readme.txt
[root@KEDACOM temp]# cat readme.txt
[root@KEDACOM temp]#
vi命令可以对现有的文本进行编辑或创建一个新的文件进行编辑 ,命令参数的使用非常多这里不做详细介绍 ,只针对我们常用的编辑命令做实例讲解 ,想了解vi命令的同学可以自己找相关资料进行学习
范例讲解:
创建一个名为readme.txt的文本,在文本中输入it.kedacom.com后保存退出
<1>  [root@KEDACOM temp]# vi readme.txt        输入编辑命令
<2>  进入文本查看界面 ,按 i或a 键进入文本编辑界面(界面左下方会出现—INSERT--)
<3>  按照常规操作输入it.kedacom.com ,完成后按【Esc】键退出文本编辑界面
<4>  在文本查看界面输入“:wq“保存退出文本   w(保存)q(退出) !(强制)
<5>  [root@KEDACOM temp]# cat readme.txt
it.kedacom.com
修改已存在文本的内容与以上方法一致
   
3. 搜索文本内容的grep命令
grep 命令可以搜索文本文件的特定字符串并显示出来,一般用来过滤先前的结果,避免显示太多不必要得信息。范例如下: 
搜索data.txt文件中包含数字“2“的内容
[root@KEDACOM tool]# grep "2" data.txt         grep “搜索内容“  目标文件路径
1111111111112
121212121212
搜索tool目录中所有文件内容中包含“data“字符串的信息
[root@KEDACOM temp]# grep "data" tool/*
tool/data1.txt:data1111111111
tool/data1.txt:data
tool/data1.txt:data2222222222
tool/data.txt:151515151515data
tool/data.txt:000000000000data
结合使用wc -l命令,用来统计grep出来的结果条数
[root@KEDACOM temp]# grep "data" tool/* | wc -l
5
 
4. 动态查看文本内容的tail -f 命令
使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
 
四、打包、压缩、解包操作
1. 将单个或多个文件、目录进行打包或解压包的tar命令
使用tar命令,可以把一大堆的文件和目录全部打包成一个文件包(大小不变),这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的,也可以将tar格式的包进行解压释放。范例如下:
将temp目录下的所有文件、目录打包成名为temp.tar的包
[root@KEDACOM temp]# tar cvf temp.tar *         ← * 号表示所有文件或目录
data1.txt                            命令参数:
data.txt                             c   创建新的包文件
file                                 v   详细报告tar处理的信息
file1.txt                            f   这个选项通常是必选的
readme.txt                           t   列出包内的文件或目录
tool/                                x   从包中释放文件或目录(解压)
tool/data1.txt                       z   使用gzip来压缩/解压文件
tool/data.txt
tool/file
tool/file1.txt
tool/readme.txt
tool/data1/
[root@KEDACOM temp]# ls
data.txt  data1.txt  file  file1.txt  readme.txt  temp.tar  tool
将temp.tar包解压到当前的tool目录下
[root@KEDACOM temp]# cd tool
[root@KEDACOM tool]# tar xf ../temp.tar
[root@KEDACOM tool]# ls
data.txt  data1.txt  file  file1.txt  readme.txt  tool
查看temp.tar包中包含哪些文件、目录
[root@KEDACOM temp]# tar tf temp.tar
data1.txt
data.txt
file
file1.txt
readme.txt
tool/
tool/data1.txt
tool/data.txt
tool/file
tool/file1.txt
tool/readme.txt
tool/data1/
将temp目录下的所有文件、目录打包并压缩为temp.tar.gz的包
[root@KEDACOM temp]# tar zcvf temp.tar.gz *
解压temp.tar.gz包
[root@KEDACOM temp]# tar zxvf temp.tar.gz
 
2.将包进行压缩的gzip命令
gzip命令是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,以减少文件大小来达到减少存储空间和文件传输的时间的目的,经常与tar配合使用。范例如下:
将temp.tar进行压缩
[root@KEDACOM temp]# gzip temp.tar            ← 压缩成功后文件变为gz后缀
[root@KEDACOM temp]# ls
data.txt  data1.txt  file  file1.txt  keda  readme.txt  temp.tar.gz  tool
将temp.tar.gz解压
[root@KEDACOM temp]# gzip -d temp.tar.gz      ← 解压成功后文件删除gz后缀
[root@KEDACOM temp]# ls
data.txt  data1.txt  file  file1.txt  keda  readme.txt  temp.tar  tool
 
思考: 在windows上打包,在linux中解压能实现吗?如何实现?
 
五、磁盘管理的命令
1. 检查文件系统的磁盘空间占用情况的df命令
使用df命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
[root@KEDACOM /]# df –ak   ← a 显示所有文件系统的磁盘使用情况  k 字节为单位显示
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda1               579084    318912    230756  59% /
none                         0         0         0   -  /proc
none                         0         0         0   -  /sys
none                         0         0         0   -  /dev/pts
usbfs                        0         0         0   -  /proc/bus/usb
none                   1033172         0   1033172   0% /dev/shm
/dev/hda2               678272    234808    409008  137% /opt
/dev/hda3              1158252     56352   1043064   6% /opt/mysql/var
/dev/hda5               773448     46672    687488   7% /var/log
none                         0         0         0   -  /proc/sys/fs/binfmt_misc

2. 显示磁盘空间使用情况的du命令
使用du命令来查看文件或目录占用磁盘空间的大小信息(以k字节为单位)
[root@KEDACOM /]# du -s *  ← 显示系统根目录下所有文件、目录占用磁盘空间的情况
4284    bin
2980    boot                 
200     dev
5296    etc                   
20      home
4       kedacom.sh
……

3. 将指定的输入文件拷贝到指定的输出文件中的dd命令
使用dd命令可以将外置设备上的文件拷贝到系统中,或把系统中的文件拷贝到外置设备中,例如:将temp目录中的file文件拷贝到/dev/sdc设备中,每次读写的大小为10M
[root@KEDACOM temp]# dd if=temp/file of=/dev/sdc bs=10M
 if 表示输入文件(设备)的路径
 of 表示输出文件(设备)的路径
 bs = bytes 表示同时设置读/写缓冲区的字节数
 
六、其他命令
1. 查看、修改系统时间的date命令
查看系统时间直接使用date命令
[root@KEDACOM /]# date
Sat Jul  2 14:29:17 CST 2011
修改系统时间只有root权限的用户才能执行,格式:date 月日时分年
[root@KEDACOM /]# date 0602143011
Thu Jun  2 14:30:00 CST 2011

2. 在显示器上显示一段文字的echo命令
将 Hi keda 做为打屏信息显示
[root@KEDACOM /]# echo "Hi keda"
Hi keda

3. 清除屏幕信息的clear命令
一般在屏幕上信息显示太多的时候使用,直接输入clear命令即可,屏幕会默认将之前的信息刷到屏幕的最上端隐藏,并显示新的对话
4. 设置操作别名的alias命令
使用alias设置别名可以简化我们平时的操作,减少命令的输入
例如: 想看目录下所有的隐藏文件,全命令是  ls –a ,如果设置了别名就方便多了
[root@KEDACOM data]# alias la="ls -a"
[root@KEDACOM data]# alias         ← 直接输入alias可以查看到已设置的别名
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias la='ls -a'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
[root@KEDACOM data]# la
.  ..  .keda  .log  data1.txt  data2.txt  data3.txt  temp
删除别名 : unalias la(别名名称)   命令即可

5. 建立文件链接的ln命令
使用ln命令可以将指定文件建立一个链接到另一个新的文件上,保证在频繁更新文件的同时,另一份文件也能同步更新
[root@KEDACOM data]# ln -s data1.txt data5.txt    ←   -s 为文件建立一个软链接
[root@KEDACOM data]# ls        data1.txt 被链接文件    data5.txt 链接生成的文件
data1.txt  data2.txt  data3.txt  data5.txt  temp
[root@KEDACOM data]# ll data5.txt
lrwxrwxrwx  1 root root 9 Jun  2 14:53 data5.txt -> data1.txt
-d参数为硬链接,两者的区别在于,硬链接是个一个脱离源文件实际存在的文件,而软链接只是源文件的一个映射

6. 查看进程的ps命令
ps命令可以查看当前系统中运行的所有进程,常与grep命令结合使用查找特定的进程
[root@KEDACOM data]# ps -ef |grep shell*    ←  e 显示所有进程  f 以全格式显示
root     21203  8482  0 15:12 pts/0    00:00:00 /bin/sh ./shell.sh
root     22065 21346  0 15:13 pts/1    00:00:00 grep shell.sh
7. 终止进程的kill命令
kill命令可以终止某个正在运行的进程
kill -9  进程号     根据进程号终止进程
killall  进程名     根据进程名终止进程
[root@KEDACOM data]# ps -ef |grep shell*    ← 查找到需要终止的进程并获取进程号
root     21203  8482  0 15:12 pts/0    00:00:00 /bin/sh ./shell.sh
root     22065 21346  0 15:13 pts/1    00:00:00 grep shell.sh
[root@KEDACOM data]# kill -9 21203          ← -9 强制终止进程号为21203的进程
[root@KEDACOM data]# ps -ef |grep shell*
root     22302 21346  0 15:14 pts/1    00:00:00 grep shell.sh
8. 服务器之间进行文件传输的ftp命令(实战详解)
使用ftp命令可以实现服务器之间文件的上传与下载
ftp IP地址     ->   输入用户名与密码进入
get 文件名     ->   下载文件到本地服务器  mget(下载多个文件)
put 文件名     ->   上传文件到远程服务器  mput(上传多个文件)
by             ->   退出ftp登录
ascii          ->   上传下载文本文件之前需要输入,保证文件格式正确
bin            ->   上传下载压缩包之前需要输入,保证包格式的正确

9.   windows侧与Linux侧文件传输的rz、sz命令
使用rz命令可以实现从windows下载文件到Linux服务器上,直接输入:rz 即可
使用sz命令可以实现从Linux服务器上传文件到windows上,直接输入:sz 文件名 即可

10.  查看所有设备的fdisk –l命令
使用fdisk –l命令可以查看到当前的Linux服务器上接了多少设备,可以看到设备名称、大小等信息

11.  Linux平台抓包的 tcpdump 命令
使用 tcpdump 命令可以获取到Liunx平台经过的数据包并保存下来,方便对Linux平台收发数据进行分析。下面用一个最简单的例子进行基本命令分析。
tcpdump -i eth0 -w 111.cap -s 0
-i<网络界面>     获取指定网口收发的数据包
-w<数据包文件>   把数据包数据写入指定的文件
-s<数据包大小>   设置每个数据包的大小 ,设置-s 为0,表示抓取整个长度的数据包

12.查看端口绑定情况
netstat –ntpl  命令可以查看系统端口及IP的绑定情况。
 
13.查看操作系统版本及位数(32位或64位)
uname -a  命令可以查看Linux系统内核版本及系统位数(i386:32位,x86_64:64位)。

(清泛网会对此文进行持续整理、改进。)

Linux 命令 常用 netstat grep tar find

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: