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

Linux常用命令

2016-06-01 16:30 253 查看
0、快捷键

tab           # 命令、文件名、路径补全
ctrl+c       # 停掉当前程序
ctrl+d       # 键盘输入结束


1、cd 切换目录

cd /user/local    # 切换到目录/usr/local
cd ./local        # 切换到当前目录下的local目录中,“.”表示当前目录
cd ../local       # 切换到上层目录中的local目录中,“..”表示上一层目录
cd -              # 返回进入此目录之前所在的目录
cd或者cd ~     # 返回自己的家目录   cd ~foo:返回到用户foo的家目录,也即/home/foo


2、pwd 显示当前所在目录

pwd         # 单纯显示当前工作目录
pwd -P       # 显示实际的工作目录,而非链接本身的目录名


3、ls 查看文件与目录

常用参数:

ls [选项] [目录名]
-l :列出长数据串,包含属性与权限等信息
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来


以上参数可以组合使用

ls -l  #以长数据串的形式列出当前目录下的文件和目录,包含属性和权限等信息
ls -lh  #以长数据串的形式列出当前目录下的文件各目录,同时容量以易读的方式列出来


4、mkdir 创建新目录

mkdir dir1                    #创建目录dir
mkdir dir1 dir2               #同时创建两个目录
mkdir -p /tmp/dir1/dir2       #创建目录树
mkdir -m 711 dir          #创建权限为rwx--x--x的目录


5、rmdir 删除空目录

rmdir dir               #删除空目录dir
rmdir -p dir/dir1/dir2      #一次性删除目录dir/dir1/dir2


6、cp 复制文件或目录

cp ~/file1 /tmp/file2          #将家目录下的file1复制到/tmp下,并更名为file2,文件的某些属性或权限会改变
cp -a /var/log/wtmp .      #将文件复制到当前目录,属性权限不改变
cp -r /etc/ /tmp         #复制/etc/下所有内容到/tmp下,属性权限会改变,-a不会改变
cp -u ~file1 /tmp/file2     #如果file1比file2新,则覆盖
cp -i ~file1 /tmp/file2     #如果file2已经存在,则覆盖时先询问


7、mv 移动文件、目录或更名

mv file1 file2 dir1       #将文件file1,file2移动到目录dir1中
mv dir1 dir2           #将dir1更名为dir2

参数:
-f :若果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新


8、rm 删除文件或目录

rm -i /usr/local/file*          #删除/usr/local下所有开头为file的文件,删除前询问
rm -rf /root/tmp1/*            #强制删除/root/tmp1目录下所有的文件及目录
参数:
-f :忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数


9、ln 创建文件或目录链接

ln -s file filelink          #创建文件file的软链接filelink
ln dir dirlink             #创建目录dir的硬链接dirlink


10、file [b]观察文件类型[/b]

file file1               #查看文件file1的文件类型


11、tar 压缩和解压缩

压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

参数
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩,此时文档名最好为*.tar.bz2
-z :通过gzip的支持进行压缩/解压缩,此时文档名最好为*.tar.gz
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir


12、cat/more/less/head/tail 显示文件内容

cat -n /etc/issue    #查看/etc/issue文件内容,打印出行号,连同空白行也有行号,-b空白行不标行号
more install.log     #分页显示文件,空格:向下翻一页,回车:向下翻一行,b:往回翻页,q:退出显示
less install.log     #more增强
head -20 install.log   #只显示头10行
tail -20 install.log   #只显示尾20行
tail -f catalina.out  #实时查看tomcat运行日志


更多:cat

13、vim 文本编辑

vim file1         #如果文件file1存在则打开,不存在则创建
<ESC>键           #由其他模式进入命令模式,该模式下
              #:wq保存并退出,:wq!强制保存并退出,:q退出,:q!强制退出,
              #:x如有改动则保存并退出,否则直接退出,:w file2另存为file2,:e重新读入当前文件
              #u取消上次命令,ctrl+r重做
              #>>向右缩进一个tab,<<向左缩进一个tab
              #x删除当前光标所在字符,dd删除当前行
              #i进入插入模式


14、which 查找可执行文件

which ifconfig     #通过PATH环境变量到该路径内查找可执行文件ifconfig


15、whereis 查找文件

whereis ifconfig   #查找与ifconfig文件相关的文件,文件类型为二进制,man说明文件或源文件
参数:
-b: 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s: 只找source源文件
-u: 没有说明文档的文件


16、locate 查找文件

locate ifconfig    #配合数据库查找与ifconfig文件相关的文件,可以在使用前执行updatedb命令


17、find 查找文件

find 路径 参数
find / -name passwd    #查找文件名为passwd的文件

参数说明:
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n       :寻找群组ID为n的文件
-group name  :寻找群组名称为name的文件
-uid n       :寻找拥有者ID为n的文件
-user name   :寻找用户者名称为name的文件
-name file   :寻找文件名为file的文件(可以使用通配符)


18、grep 查找特定字符

grep [-acinv] [--color=auto] '查找字符串' filename
grep --color=auto 'MANPATH' /etc/man.config   # 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
ls -l|grep -i file                  # 把ls -l的输出中包含字母file(不区分大小写)的内容输出
ls | grep -v "sbt-launch.jar" | xargs rm -r    #删除sbt-launch.jar以外的文件

参数
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行


19、ps 显示进程瞬间状态

ps -ef|grep ssh      #查找特定进程

参数
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

组合
ps aux      # 查看系统所有的进程数据
ps ax       # 查看不与terminal有关的所有进程
ps -lA       # 查看系统所有的进程数据
ps axjf     # 查看连同一部分进程树状态


20、kill 终止指定进程

kill -signal PID

signal常用参数
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进


21、chgrp 改变文件所属群组

chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users
chgrp [-R] dirname/filename
-R :进行递归的持续对所有文件和子目录更改


22、chown 改变文件拥有者

chown foo install.log          #将install.log的拥有者改为foo
chown root:root install.log       #将install.log的拥有者和群组改为root

chown [-R] user dirname/filename
chown [-R] user:grp dirname/filenam
-R :递归的对所有文件和子目录更改


23、chmod 改变文件权限

ls -l sobsrc. tgz
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。
如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

$ chmod –x mm.txt       #取消所有使用者对文件mm.txt的执行权限。
$ chmod 644 mm.txt      #文件属主拥有读、写权限,与文件属主同组人用户拥有读权限,其他人拥有读权限。

chmod [-R] xyz 文件或目录
-R:递归的对所有文件和子目录更改

文字设定法:
chmod [who] [+ | - | =] [mode] 文件名
who:u文件或目录的所有者、g与文件属主有相同组ID的所有用户、o其他用户、a所有用户(系统默认)的任意组合
+:添加、-:取消、=:赋予
mode:r读、w写、x执行的任意组合

数字设定法:
chmod [mode] 文件名      #7:全部,6:读写,0:无
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加
mode:3个从0到7的八进制数,其顺序是(u)(g)(o)


24、shutdown 关机重启


shutdown -h now                       #立刻关机,now相当于时间为0的情况
shutdown -r +10                       #系统在10分钟后关机并重新启动
shutdown -r +30 'The system will reboot'         #系统在30分钟后关机并重新启,并显示后面的信息给所有在线使用者
shutdown -h 20:30      #系统将在20:30关机

shutdown [-efFhknr][-t 秒数][时间][警告信息]
 -c  当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
 -f  重新启动时不执行fsck的磁盘检查。
 -F  重新启动时执行fsck的磁盘检查。
 -h  将系统的服务停掉后,立即关机。
 -k  只是送出信息给所有用户,但不会实际关机。
 -n  不调用init程序进行关机,而由shutdown自己进行。
 -r  将系统的服务停掉后,重新启动。
 -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
 [时间]  设置多久时间后执行shutdown指令。
 [警告信息]  要传送给所有登入用户的信息。

其他重启关机命令:reboot重启,halt关机,poweroff关机,init 0关机


25、wget 下载文件

wget [参数列表] URL
wget http://nodejs.org/dist/v6.3.0/node-v6.3.0.tar.gz             #从下载一个文件并保存在当前目录
wget -O node6.3 http://nodejs.org/dist/v6.3.0/node-v6.3.0.tar.gz      #下载并保存为node6.3
wget –limit-rate=300k http://nodejs.org/dist/v6.3.0/node-v6.3.0.tar.gz  #限速下载  wget -i download.txt                                #批量下载download中每个URL所对应的文件,每个URL写一行
wget -c http://nodejs.org/dist/v6.3.0/node-v6.3.0.tar.gz           #断点续传
wget --no-check-certificate https://我们下载文件路径              #下载https链接[/code] 
26、其他命令

lsb_release -a      #查看系统版本
top            #查看系统运行状况
sync            #数据同步写入磁盘
ifconfig          #查看网络情况
uname -r          #查看内核版本
ping -c4 baidu.com    #ping baidu.com 4次
service network restart  #重启network服务
clear            #清屏
who             #显示在线登录用户
scp -P 2261 hh.war root@172.33.5.11:/home/app/    #不同linux间文件复制 -r目录
jar cvf temp.war */ .  #将当前目录打包成war包
jar xvf temp.war     #解压war包到当前目录
echo *.war        #打印出所有的.war文件
echo $PATH         #打印出变量PATH
export|env           #显示环境变量
jps            #列出本机所有java进程的pid 
jstack 进程id > ps.txt  #导出java运行的线程信息
jstat -gc 2060      #进程为2060的垃圾回收统计     格式jstat [Options] vmid [interval] [count]
sed -i 's/原字符串/新字符串/g' file0           #将file0中的“原字符串”替换为“新字符串”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: