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 观察文件类型
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进入插入模式
#该命令还可以在不解压的情况下查看和修改jar包文件
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以外的文件
grep -o "hello" test.log| wc -l #查找test.log文件中hello字符中出现的次数
参数
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的行数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
-o :只显示被匹配的字符串
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链接
26、JVM调优命令
jps #列出本机所有java进程的pid -l:输出应用程序main class的完整package名或者应用程序的jar文件完整路径名 -v:输出传递给JVM的参数 -m:输出传递给main方法参数 jstack 进程id > ps.txt #导出java运行的线程信息 jstat -gc 2060 #进程为2060的垃圾回收统计 格式jstat [Options] vmid [interval] [count]
jmap -heap 2060 #打印heap的概要信息
更多详情:点击
27、其他命令
lsb_release -a #查看系统版本
history 10 #查看最近10条命令
df -h #以可读性较高的方式来显示磁盘分区 du命令
du -h -x --max-depth=1 #可查看指定文件及目录大小
top #查看系统运行状况 -p:查看指定进程
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 #显示环境变量
sed -i 's/原字符串/新字符串/g' file0 #将file0中的“原字符串”替换为“新字符串”。
tree -a /data 打印data目录下的所有文件和目录