爱程序网

Linux常用命令

来源: 阅读:

一、基本命令

1、立即关机并重启动,执行如下命令:

shutdown  -r  now 或者reboot

2、立即关机,执行如下命令:

shutdown  -h  now 或者poweroff

3、等待2分钟关机并重启动,执行如下命令:

shutdown  -r  2

4、等待2分钟关机,执行如下命令:

shutdown  -h  2

5、使用当前用户的历史命令,执行如下操作:

history

将会显示使用过的每条命令及其序号,可利用序号重复执行该命令。

例如输入!1并回车,将会重复执行第1条历史命令。

也可用上下光标键调出某条历史命令,然后按回车键重复执行。

还可用上下光标键调出某条历史命令,修改后按回车键执行。

6、清除当前用户的历史命令,执行如下命令:

history  -c

此时用向上光标键将会调不出任何历史命令。 

7、显示内核版本号,执行如下命令:

uname  -r

注:内核版本号不同于软件发行版本号。

例如,RHEL 5.4的内核版本号是2.6.18-164.el5,软件发行版本号是5.4。

8、清除屏幕,执行如下命令:

clear 

9、显示操作系统时钟,执行如下命令:

date

10、加载光盘到/media,执行如下命令:

mount  /dev/cdrom  /media

11、卸载光盘,执行如下命令:

umount  /dev/cdrom 或者 umount  /media

注意:不要在/media或其子目录中执行此命令,否则将会出现“设备忙错误”。

12、查看存储设备,执行如下命令:

fdisk –l

13、加载U盘到/media 

mount  /dev/sdb1  /media

14、卸载U盘,执行如下命令:

umount  /dev/sdb1 或者 umount  /media

注意:不要在/media或其子目录中执行此命令,否则将会出现“设备忙错误”。

15、中断shell命令

Ctrl+C

 

二、文件目录操作命令

1、显示当前的绝对路径,执行如下命令:

pwd

2、改变当前目录,例如执行如下命令:

cd  /etc/yum

将会把当前目录改为/etc/yum。 

3、回到当前目录的父目录,执行如下命令:

cd  ..

4、创建目录,例如执行如下命令:

mkdir  /usr/tigger

5、删除目录,例如执行如下命令:

rmdir  /usr/tigger

注:使用rmdir命令时,待删除的目录必须为空。

6、列出目录中的内容,例如执行如下命令:

ls  /

7、列出目录中的所有内容(包括隐藏文件或称为点文件) ,例如执行如下命令:

ls  /root  -a

将会看到以“.”开头的文件名,它们称为点文件。若用命令“ls  /root”是看不到它们的。

8、用长格式列出目录中的内容,执行如下命令:

ls  /boot  -l

注:在Linux中,若某命令有几个开关,可将这几个开关合并在一起。例如,命令ls  -a  -l与命令ls  -al或者ls  -la作用相同。

9、创建空文件,例如执行如下命令:

touch  /a.dat

10、复制文件,例如执行如下命令:

cp  /etc/host.conf  /root

将会把目录/etc中的文件host.conf复制到目录/root中,文件名不变。

11、复制整个子目录(不改变目录名),例如执行如下命令:

cp  -r  /usr/include  /root  将会把整个子目录/usr/include(不改变目录名)复制到目录/root中。

12、复制整个子目录(改变目录名),例如执行如下命令:

cp  -r  /usr/include  /root/include2

将会把整个子目录/usr/include复制到目录/root中,并将目录名从include改为include2。 

13、移动文件或给文件改名,例如执行如下命令:

给文件改名:mv  /root/host.conf  /root/myfile

移动文件:mv  /root/myfile   / 

移动文件同时改名:mv  /myfile  /root/myfile2

14、删除文件,例如执行如下命令:

按y键确认:rm  /root/myfile2

不需确认:rm  -f  /a.dat 

15、删除非空目录,例如执行如下命令:

系统提示目录非空:rmdir  /root/mysub

系统无错误提示:rm  -rf  /root/mysub

ls  /root

将看到目录/root中已经没有mysub目录。

16、分屏显示文件内容,例如执行如下命令:

more  /etc/services

按空格键显示下一屏,按q键返回命令行状态。

注:more作为管道命令时,可与其它一些命令结合,例如: ls  /etc   |more history  |more

17、显示文件内容,例如执行如下命令:

more _FileName 一次一屏的显示内容,空格或者回车显示下一屏。

less _FileName 一次一屏的显示内容,空格或者回车显示下一屏。

cat _FileName 一次显示全部内容

    cat _File1 _File2 > File3 将File1和File2的内容写到File3,并覆盖File3原有内容。

    cat _File >> _File2 将File1的内容追加到File2,File2原内容不变。

head _FileName 只显示文件的前10行

    head -n _FileName 显示文件的前n行。

 

tail _FileName 只显示文件的后10行

    tail -n _FileName 显示文件的后n行。

nl _FileName 以文件编号的形式一次全部显示文件内容。忽略空格。

 

18、合并文件,例如执行如下命令:

cat  /etc/resolv.conf  /etc/yum.conf  >/b.dat

注:>和>>是重定向符号,若重定向的文件已经存在,

则使用>时将用新内容覆盖原来的内容,

而使用>>时将用新内容添加到原来内容的后面。 

19、文件查找:find [路径] [选项]

20、文件内容查找:grep 

 

三、ls命令详细

ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法

英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所以然,当你知道了这个东西大概是个什么了以后你的思维就会联想到很多的东西学习的就会很快。

1. ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。

2. ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。

3. ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。

4. ls -s 在每个文件的后面打印出文件的大小。 size(大小)

5. ls -t 按时间进行文件的排序。Time(时间)

6. ls -A 列出除了"."和".."以外的文件。

7. ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现

8. ls -L 列出文件的链接名。Link(链接)

9. ls -S 以文件的大小进行排序

10. ls -tr -r 对目录反向排序

以上是一些关于ls命令的一些用法,当然还有好多没有列出来,大家可以man一下。有助于学习英文

 

ls可以结合管道符”|“来进行一下复杂的操作。比如: ls | less用于实现文件列表的分页,ls

计算当前目录下的文件数量

ls -|*|grep "^-"| wc -|

 

--linux下文件颜色的含义

绿色---->代表可执行文件,(绿色代表通行证的意思)呵呵

红色---->代表压缩文件

深蓝色---->代表目录

浅蓝色----->代表链接文件

灰色---->代表其它的一些文件

 

四、vi编辑器

创建或修改某一文本文件,例如执行如下命令:vi  /b.dat

vi编辑器有2种模式:命令模式编辑模式

vi启动后进入的是命令模式,在命令模式中按【i】键就可以进入编辑模式。

在编辑模式中按【Esc】键就可以返回到命令模式。

在命令模式输入【:wq】后按回车键保存文件后退出;或者输入【:q!】后按回车键不存盘退出。

 

下面是一些常用的vim编辑器快捷键:

「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

「x」:每按一次,删除当前字符。

「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

「dd」:删除光标所在行,并用下一行进行填充。

「#dd」:从光标所在行开始删除#行。

「#G」:「15G」,表示移动光标至文章的第15行行首。

「w」:在冒号输入字母「w」就可以将文件保存起来。

「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vim。

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

 ZZ 立即保存文件并退出。

p  粘贴

u  撤销一次

ctrl+r 反撤销一次

 

多窗口功能:在命令行模式下输入:sp,这样两个文件就可以同时在一个屏幕上显示,

然后先按下ctrl + w,然后放开所有按键后,再按下向下箭头键或者向上箭头键就可以进行窗口的选择了,如果要关闭一个窗口,直接 : q 即可。

 

vi在编辑某一个文件时,会生成一个临时文件,这个文件以“.”开头并以“.swp”结尾。

正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除。

此时只需手动删除该文件即可。

:set nu  显示行号

:setnonu 取消行号

 

五、软件包安装命令

1、查看所有已安装的软件包,执行如下命令:

rpm  -qa  |more

2、查看已安装的名称中包含某个字符串的所有软件包,例如执行如下命令:

rpm  -qa  |grep  net

3、验证所有已安装的软件包,执行如下命令:

rpm  -Va

 注:该命令会列出所有自从包安装后系统和用户做过修改的文件。

4、查看已安装的某个软件包的用途,例如执行如下命令:

rpm  -qi  net-tools-1.60-37.EL4.8

5、查看系统中某个文件属于哪个软件包,例如执行如下命令:

rpm  -qf  /sbin/ifconfig

结果应显示该文件属于net-tools-1.60-102.el6.i686

6、安装某个软件包,例如执行如下命令:

rpm  -ivh  ***********.rpm

注:-v为显示信息选项,-h为显示进程选项

 

六、防火墙关闭

(1)重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off

(2)即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

 

如果是firewall作为防火墙时,打开/关闭命令如下:

(1)打开防火墙

systemctl start iptables.service

(2)关闭防火墙

systemctl stop firewalld.service     #停止firewall

systemctl disable firewalld.service  #禁止firewall开机启动

 

七、系统时间

Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。
当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。
clock和hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

(1)查看系统时间

#date

 

(2)设置系统时间

#date --set "07/07/06 10:19" (月/日/年 时:分:秒)

 

(3)查看硬件时间

#hwclock --show

#clock --show

 

(4)设置硬件时间

#hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

#clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

 

(5)硬件时间和系统时间的同步

按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,
但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
①、硬件时钟与系统时钟同步:

#hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

#clock --hctosys

②、系统时钟和硬件时钟同步:

#hwclock --systohc

# clock --systohc

 

(6)同步BIOS时钟(强制把系统时间写入CMOS)

#clock -w

 

(7)设置时区

找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai,用这个文件替换当前的/etc/localtime文件。

mv /etc/localtime /etc/localtime.bak

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/locaktime

 

八、tar命令:

摘录自:http://blog.csdn.net/imyang2007/article/details/7634470

 

下面五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

--使用例

# tar -cf all.tar *.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

 

# tar -tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思


# tar -xf all.tar

这条命令是解出all.tar包中所有文件,-x是解开的意思


--压缩

tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg   zip格式的压缩,需要先下载zip for linux


--解压

tar –xvf file.tar  解压 tar包

tar -xzvf file.tar.gz 解压tar.gz

tar -xjvf file.tar.bz2   解压 tar.bz2

tar –xZvf file.tar.Z   解压tar.Z

unrar e file.rar 解压rar

unzip file.zip 解压zip


--总结

*.tar 用 tar –xvf 解压

*.gz 用 gzip -d或者gunzip 解压

*.tar.gz和*.tgz 用 tar –xzf 解压

*.bz2 用 bzip2 -d或者用bunzip2 解压

*.tar.bz2用tar –xjf 解压

*.Z 用 uncompress 解压

*.tar.Z 用tar –xZf 解压

*.rar 用 unrar e解压

*.zip 用 unzip 解压


====Linux后台运行相关

1、&

加在一个命令的最后,可以把这个命令放到后台执行,如:【watch -n 10 sh test.sh &】#每10s在后台执行一次test.sh脚本

2、ctrl + z

可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

3、jobs

查看当前有多少在后台运行的命令

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。

但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

4、fg

将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。

5、bg

将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。

6、kill

  • 法子1:通过jobs命令查看job号(假设为num),然后执行kill %num
  • 法子2:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

7、Ctrl+c

前台进程的终止

8、nohup

如果让程序始终在后台执行,即使关闭当前的终端也执行(之前的&做不到),这时候需要nohup。

该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

关闭中断后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

【ps -aux " grep "test.sh"】 #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助