您的位置:首页 > 运维架构 > Linux

Linux常用命令整理

2017-03-24 10:45 330 查看
1、 ls---显示当前目录的文件

常用的有以下两种:
(1) ls
显示当前目录的文件



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




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



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




7、mv --- 移动文件或目录,类似windows系统中的剪切;
(1)移动文件
mv fileName ./folder
如:把文件old.txt移动到dir1目录下



(2)移动目录
mv Folder1 ./folder2
如:把目录dir3移动到dir1目录下



(3)为文件重命名
mv fileName1 fileNam2
如:把old.txt命名为new.txt




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 保存并退出
原始文件内容如下:



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



退出及保存
(1)按esc键切换到命令行模式
(2):q 不存盘退出vi
:wq 保存并退出vi
:q! 不存盘强制退出vi

10、chattr --- 锁定文件命令
chattr +i fileName --- 锁定某文件
chattr -i fileName --- 解锁某文件
lsattr fileName ---查看某文件是否被锁定

11、scp ---远程复制文件或目录(把文件或目录从一台主机复制到另一台主机)
(1)复制文件
先切换到本机需要复制的文件所在的目录(当然也可以写绝对路径,也可以根据情况写相对路径)
scp 本机文件名 远程主机登录的用户名@远程主机IP地址:远程主机的目录
这里列出一个实际的例子:



(2)复制目录
先切换到本机需要复制目录的上层(当然也可以写绝对路径,也可以根据情况写相对路径)
scp -r 本机目录名 远程主机登录的用户名@远程主机IP地址:远程主机的目录




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 显示所有的历史命令



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




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

改变文件的模式
a 所有用户 u 归属用户 g归属群组 o 其它用户

= 具有权限 + 增加权限 - 去除权限

r 可读权限 w 可写权限 x 可执行权限




红色部分一共有十个字符,
第一个字符表示是文件还是目录,d是目录,- 是文件
第二三四个字符分别表示当前文件所属用户root的读、写、执行的权限;
第五六七个字符分别表示当前文件所属组root的用户读、写、执行的权限;
第八九十个字符分别表示当前文件其他组用户的读、写、执行的权限;
(1) chmod g+{xwr} 文件名 给指定文件名所属用户组加r(可读)或x(可执行)或w(可写)权限
如:给sed.txt当前文件所属组用户加上w权限;



(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




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

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



(1)chown 用户名 文件名/目录 改变文件或目录的所属用户
如:把目录dir1所属用户由root改为test



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




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

crontab 是用来让使用者在固定时间或固定间隔执行程序之用;
为了下面crontab命令的演示,我在pantp目录下建一个执行脚本,crontab.sh



(1) 建立定时执行任务
我需要crontab.sh脚本每隔一分钟钟执行一次,并把文件输出到pantp目录下的log.txt
为了使此效果明显,我把crontab.sh文件做了一下更改,修改后的文件为:



先介绍一下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 退出;



(2) 查看定制任务
crontab -l



(3)删除定制任务
crontab -r
-r 删除当前用户的crontab文件



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

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

利用sed来处理文本文件,把sed.txt和sed.txt.cp中的Abc都替换为pantp
执行sed命令前:



(1)第一种方式:sed -e 's/Abc/pantp/' a.txt
-e表示命令以命令行的方式执行;参数s,表示执行替换操作,会把执行后的结果给显示出来;



注意:此种情况只会把执行后的结果给显示出来,但是文件的本身还没变;
(2)第二种情况:sed -i 's/Abc/pantp/' a.txt
参数-i,表示直接操作修改文件,不输出,文件本身已经变了;




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

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



通过以上命令,我一般就是查看某个进程是否存在,有时需要根据进程好来杀进程,这时配合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 字符 文件名 (统计文件名中某字符出现的数量,忽略大小写)




23、find
常用如下:
(1)查看某个目录下的文件及目录
find 目录名 查询当前目录下的某个文件或目录



(2)按文件名匹配需要的文件
find 路径 –name 匹配选项




24、wc
-l 输出当前文件的行数
-c 输出当前文件的字节数
-w 输出当前文件的字数
(1)wc 文件名



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




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 ---查看计算机名称



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




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




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为
端口号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 常用命令