Linux常用命令整理

来源:互联网 发布:javascript的dom对象 编辑:程序博客网 时间:2024/06/10 09:30

1、 ls---显示当前目录的文件

常用的有以下两种:

(1) ls

显示当前目录的文件

image

(2) ls –alt

显示当前目录的所有文件(包含.开头的隐藏文件)的详细列表信息,并且按时间排序

image


2、cd   --- 切换路径命令

如:cd /data/www/  切换到www目录下

cd .. 返回上一级目录

cd /  返回根目录

cd ~  切换到用户的宿主目录


3、mkdir  --- 创建目录命令

mkdir fileName


4、touch  ---创建文件命令

touch fileName.txt   


5、rm   --- 删除命令

rm –rf  文件名或目录名        删除文件或目录;


6、cp ---复制文件或目录命令

(1)复制文件

cp  文件名1 文件名2     --- 将文件名1复制成文件名2

image

(2)复制目录

cp  -r  目录1  目录2   --- 将目录1复制成目录2

image


7、mv   --- 移动文件或目录,类似windows系统中的剪切;

(1)移动文件   

mv  fileName  ./folder  

 如:把文件old.txt移动到dir1目录下

image

(2)移动目录   

mv Folder1 ./folder2

 如:把目录dir3移动到dir1目录下

image

(3)为文件重命名  

mv  fileName1 fileNam2

 如:把old.txt命名为new.txt

image


8、cat  ---显示文件内容命令

(1) cat  fileName   ---  一次显示整个文件

(2)cat file1 file2 > file   ---将几个文件合并为一个文件

参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting

(3)cat > filename   创建新文件并编辑内容

步骤:

  1)键入cat > filename.txt 后回车 
  2)录入文本内容; 
  3)键入回车; 
  4)在键盘上按下Ctrl+D (或者键入Control-D)。 


9、vi     --- 文件编辑命令

vi  fileName   --- 编辑文件,默认进入命令模式。

vi分命令模式、编辑模式、底行模式

1)命令模式:

按esc键切换到命令行模式,此模式常用的就是删除

x   删除当前光标所在字符

dd 删除光标所在的当前行

2)编辑模式:

按a、i、o进入编辑模式

a 光标会向后移动一位,在当前光标后插入

i  在当前光标前插入,当前光标所在的字符会后移

o 换一行后插入


现在按照以下步骤按照以上三个方式分别插入pantp字符:

步骤如下:

1).打开文件 vi new.txt

2).把光标放在第一行的第二个字符,按下字母a,然后输入pantp

3).按esc切换到命令行模式

4).把光标放在第二行的第二个字符,按下字母i,然后输入pantp

5).按esc切换到命令行模式

6).把光标放在第三行的第二个字符,按下字母o,然后输入pantp

7).按esc切换到命令行模式

8). 输入 :wq  保存并退出

原始文件内容如下:

image

按照上述步骤编辑以后,文件内容如下:

image

退出及保存

(1)按esc键切换到命令行模式

(2):q    不存盘退出vi

        :wq 保存并退出vi

        :q!  不存盘强制退出vi


10、chattr   --- 锁定文件命令

chattr +i  fileName    --- 锁定某文件

chattr -i fileName     --- 解锁某文件

lsattr fileName    ---查看某文件是否被锁定


11、scp   ---远程复制文件或目录(把文件或目录从一台主机复制到另一台主机)

(1)复制文件

先切换到本机需要复制的文件所在的目录(当然也可以写绝对路径,也可以根据情况写相对路径)

scp 本机文件名 远程主机登录的用户名@远程主机IP地址:远程主机的目录

这里列出一个实际的例子:

image

(2)复制目录

先切换到本机需要复制目录的上层(当然也可以写绝对路径,也可以根据情况写相对路径)

scp  -r 本机目录名 远程主机登录的用户名@远程主机IP地址:远程主机的目录

image



12、more    --- 分屏显示文件内容命令

分屏显示文件,只有文件大小超过一定长度才有效,超过一定长度后,会显示百分比信息;否则此命令的效果和cat类似;

more  文件名


13、tail   ---显示文件的最新内容命令,此命令常用于动态查看日志

(1) tail –f 文件名

动态显示文件增长的内容;

如:实时监控项目日志文件 

tail -f catalina.out  或者 tail -f logs.log

如果要退出实时日志监控,按Ctrl+C

(2) tail –1000f  文件名

动态显示文件增长的最后1000行的内容;

命令格式;

tail[必要参数][选择参数][文件]   

命令功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

命令参数:

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. 

-q, --quiet, --silent 从不输出给出文件名的首部 

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 


14、history   --- 显示历史执行的命令

(1) history    显示所有的历史命令

image

(2) history 2   显示最近的两个命令

image


15、chmod    --- 设置文件权限

改变文件的模式

a 所有用户     u 归属用户     g归属群组      o 其它用户
= 具有权限     + 增加权限     - 去除权限
r 可读权限     w 可写权限    x 可执行权限

搜狗截图_2012-07-10_09-49-59

红色部分一共有十个字符,

第一个字符表示是文件还是目录,d是目录,- 是文件

第二三四个字符分别表示当前文件所属用户root的读、写、执行的权限;

第五六七个字符分别表示当前文件所属组root的用户读、写、执行的权限;

第八九十个字符分别表示当前文件其他组用户的读、写、执行的权限;

(1) chmod g+{xwr} 文件名     给指定文件名所属用户组加r(可读)或x(可执行)或w(可写)权限

如:给sed.txt当前文件所属组用户加上w权限;

搜狗截图_2012-07-10_09-57-25

(2) chmod 777 文件名

给sed.txt.cp当前文件所属组用户加上w权限;此种采用二进制来表示,有该权限就写1,无就写0,然后算出总数;

7代表111(可读可写可执行)  6代表110(可读可写)   5带表101(可读可执行) 

4代表100(可读)3代表011(可写可执行)    2代表010(可写)  1代表001(可执行)

更改前:

110 100 100----->6 4 4

需要更改为:

110 110 100----->6 6 4

搜狗截图_2012-07-10_10-03-52


16、chown   --- 改变文件或目录的所属用户和所属组;

(我虚拟机上装的linux只有一个root用户一个root组,我先建一个test组,并在该组下建一个test用户,密码也为test;新建用户和组的操作这里就不介绍了,作为一个开发人员这样的操作很少)

image

(1)chown 用户名 文件名/目录     改变文件或目录的所属用户

如:把目录dir1所属用户由root改为test

搜狗截图_2012-07-10_18-58-25

(2) 改变dir1所属组由root改为test

搜狗截图_2012-07-10_19-39-41


17、crontab    --- 定时调度命令

crontab 是用来让使用者在固定时间或固定间隔执行程序之用;

为了下面crontab命令的演示,我在pantp目录下建一个执行脚本,crontab.sh

image

(1) 建立定时执行任务

我需要crontab.sh脚本每隔一分钟钟执行一次,并把文件输出到pantp目录下的log.txt

为了使此效果明显,我把crontab.sh文件做了一下更改,修改后的文件为:

image

先介绍一下crontab中时程表的格式

时程表的格式如下 : 
f1 f2 f3 f4 f5 program 

其中 f1 是表示分钟(0-59),f2 表示小时(0-23),f3 表示一个月份中的第几日(1-31),f4 表示月份(1-12),f5 表示一个星期中的第几天(0-6 0表示星期日)。program 表示要执行的程序。 
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推;

输入crontab -e,然后输入如下部分,输入完成以后,按 :wq 退出;

image

(2) 查看定制任务

crontab -l

image

(3)删除定制任务

crontab -r

-r 删除当前用户的crontab文件  

image

这个是命令慎用,这个会删除当前用户所有的定制任务,我们可以直接crontab –e 进入,然后把不需要的给删除;


18、sed    --- 文件内容替换命令

利用sed来处理文本文件,把sed.txt和sed.txt.cp中的Abc都替换为pantp

执行sed命令前:

image

(1)第一种方式:sed -e 's/Abc/pantp/' a.txt

-e表示命令以命令行的方式执行;参数s,表示执行替换操作,会把执行后的结果给显示出来;

image

注意此种情况只会把执行后的结果给显示出来,但是文件的本身还没变

(2)第二种情况:sed -i 's/Abc/pantp/' a.txt

参数-i,表示直接操作修改文件,不输出,文件本身已经变了

image


19、ps   ---查看进程信息命令

ps –ef|grep XXX  

如:查看tomcat的进程号   ps -ef|grep tomcat

ps

通过以上命令,我一般就是查看某个进程是否存在,有时需要根据进程好来杀进程,这时配合kill命令使用,我一般用kill –3 进程号,用这个命令可以生成core文件。

kill -9  进程号     --- 杀死对应的进程


20、tar     ---打包/解压命令

(1)打tar包,把目录a打包为a.tar

tar –cvf a.tar a

(2)解压tar包,把a.tar包解压

tar –xvf a.tar


21、jar    --- 打包/解压命令

(1)打包,把目录a打包成a.jar

jar –cvf a.jar a

(2)解压包,把a.jar解压

jar –xvf a.jar

(3)查看jar包中的文件列表

jar –tvf a.jar


22、grep   --- 统计命令

只介绍两个常用的选项,c 统计数据  i 忽略大小写

查找文件中某个字符出现的数量,统计的是字符出现的行数,如果要查找的字符在一行中出现超过一次,也只会统计一次;

grep –ci   字符 文件名         (统计文件名中某字符出现的数量,忽略大小写)

image


23、find

常用如下:

(1)查看某个目录下的文件及目录

find  目录名   查询当前目录下的某个文件或目录

image

(2)按文件名匹配需要的文件

find   路径 –name 匹配选项

image


24、wc

-l  输出当前文件的行数

-c 输出当前文件的字节数

-w 输出当前文件的字数

(1)wc 文件名

image

(2)配合其他命令使用,比如cat

image


25、clear   ----清除屏幕;


26、pwd    ---查看当前所在的目录;


27、su     ---切换到指定用户


28、logout/exit    --- 退出当前会话框;


29、shutdown     -- 关闭命令

关机:shutdown now

重启:shutdown –r now


30、ssh    --- 登录命令

ssh  user@ip port        user为用户名   ip为要登陆的ip  port为 端口号 


29、hostname  ---本机名称命令

(1) hostname    ---查看计算机名称

image

(2) hostname –i       ---查看计算机的IP地址

image


31、whoami   ---查看当前登录用户

image




32、ssh    --- 登录命令

ssh  user@ip port        user为用户名   ip为要登陆的ip  port为 端口号 


33、top    --- 查看linux系统中的资源管理器,可以显示当前CPU、内存的使用量、剩余量等。

 

34、uname  

uname -a  查看linux系统的版本


35、ssh    --- 登录命令

ssh  user@ip port        user为用户名   ip为要登陆的ip  port为 端口号 

0 0
原创粉丝点击