整理一下常用的linux命令
查找文件
find / -name filename.text //跟根据名称查找 / 目录下的filename.txt文件
find .-name ".xml" //递归查找所有.xml文件
find .-name ".xml" |xargs grep "Hello World" //递归查找所有文件内容包含了hello World的xml文件
grep -H 'spring' *.xml //查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f & //删除文件大小为零的文件
ls -l | grep 'jar' //查找当前目录中的所有jar文件
grep 'test' d* //显示所有以d开头的文件中包含test的行。
grep 'test' aa bb cc //显示在aa,bb,cc文件中匹配test的行。
grep '[a-z]/{5/}' aa //显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
查看一个程序是否运行
ps -ef|grep tomcat //查看所有有关tomcat的进程
查看文件,包含隐藏文件
ls -al
当前工作目录
pwd
复制文件
cp sourceFolder targetFolder
scp sourecFile romoteUserName@remoteIp:remoteAddr //远程拷贝
创建目录
mkdir newfolder
删除目录
rmdir deleteEmptyFolder //删除空目录rm -rf deleteFile递归删除目录中所有内容
移动文件
mv /temp/movefile /targetFolder
重命名
mv oldNameFile newNameFile
切换用户
su username
修改文件权限
chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
压缩文件
tar -czf test.tar.gz /test1 /test2 //压缩test1 test2
列出压缩文件列表
tar -tzf test.tar.gz
解压文件
tar -xvzf test.tar.gz
查看文件头10行
head -n 10 example.txt
查看文件尾10行
tail -n 10 example.txt
查看日志类型文件
tail -f exmaple.log //这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
./startup.sh && tail -f ../logs/catalina.out //重启tomcat 输出日志
使用超级管理员身份执行命令
sudo rm a.txt //使用管理员身份删除文件
查看端口占用情况
netstat -tln | grep 8080 //查看端口8080的使用情况
查看端口属于哪个程序
lsof -i :8080
查看进程
ps aux|grep java //查看java进程
ps aux //查看所有进程
以树状图列出目录的内容
tree a
文件下载
wget http://file.tgz
//mac下安装wget命令
curl http://file.tgz
网络检测
ping www.taobao.com
远程登录
ssh userName@ip
打印信息
echo $JAVA_HOME //打印java home环境变量的值
java 常用命令
java javacjps , jstat , jmap , jstack
其他命令
svn git maven
grep命令作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
ps命令参考文章
ps是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
kill 命令用于杀死进程。
1.命令格式:
ps[参数]
2.命令功能:
用来显示当前进程的状态
3.命令参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于"-A"
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
-lines<行数> 每页显示的行数
-width<字符数> 每页显示的字符数
-help 显示帮助信息
-version 显示版本显示
实例
ps -A //显示所有进程信息
ps -u root //显示指定用户信息
ps -ef //显示所有进程信息,连同命令行
ps -ef|grep ssh //ps 与grep 常用组合用法,查找特定进程
ps -l //将目前属于您自己这次登入的 PID 与相关信息列示出来
ps aux //列出目前所有的正在内存当中的程序
ps -axjf //列出类似程序树的程序显示
ps aux | egrep '(cron|syslog)' //找出与 cron 与 syslog 这两个服务有关的 PID 号码
chmod
linux chmod命令是在日常运维中比较常用的命令之一,对文件管理比较重要,如设置web目录时需设置特定的权限以保证服务器安全。
提示:在写完shell脚本后,我们一般需要给这脚本设置权限:chmod a+x shell.sh
对程序及目录直接给予chmod -R 777 file,这种最高级的权限,对服务器安全会造成很大的安全隐患,一般不建议这样设置在线上服务器上,可配置chown来设置web目录权限,如对用户上传图片的目录设置为web执行用户者的权限,对需要用程序操作的web中目录,也同样的设置:chown -R apache:apache web,其它只读的文件或目录,保持root权限即可,这样可以增加服务器安全性
linux命令 : chmod
使用权限 : 所有用户
使用方式 : chmod [-cfvR] [-help] [-version] mode file… 说明 : Linux/Unix 的文件调用权限分为三级 : 文件拥有者[属主]、属组、其他用户。利用 chmod 可以控制文件如何被他人所调用。
与chmod相关的命令:chown,umask, 参数 : mode : 权限设定字串,格式如下 :
[ugoa…][[+-=][rwxX]…][,…],其中 u 表示该文件的拥有者[user], g
表示与该文件的拥有者属于组(group), o 表示其他用户[other], a 表示这三者皆是[all]。(常用)
表示增加权限、(常用)
表示取消权限、(常用)
= 表示唯一设定权限。
r 表示有可读取的权限, w 表示有可写入的权限, x 表示有可执行的权限, X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
-c : 若该文件权限确实已经更改,才显示其更改动作 -f : 若该文件权限无法被更改也不要显示错误讯息 -v :
显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更 (常用)
示例:给文件修改所有为所有人可读权限:
chmod ugo+r linuxyw.com
或
chmod a+r linuxyw.com
给文件修改所有为所有人可执行权限:
chmod a+x linuxyw.com
给文件修改所有为文件属主用户可执行权限:
chmod u+x linuxyw.com
把linuxyw目录下的文件设置为所有人可执行权限:
chmod -R a+x linuxyw/
把linuxyw目录下的文件全部设置为755权限:
chmod -R 755 linuxyw/
取消linux目录下的所有文件可写权限:
chmod -R a-w linuxyw/
实例
执行 ll
返回
drwxr-xr-x 2 root root 4096 Apr 29 14:50 linuxyw
-rw-r-r- 1 root root 36 Apr 27 23:40 linuxyw.com
-rw-r-r- 1 root root 0 Apr 29 14:46 www.linuxyw.com
ll的结果返回七列,分别表示如下含义:
第一栏 [文件属性]
第二栏 [文件数]
第三栏 [拥有者]
第四栏 [所有者群组]
第五栏 [大小]
第六栏 [建档日期]
第七栏 [档名]
我们设置文件的权限就是这是第一栏里的文件属性。
文件属性这块共有十个字段,如:drwxr-xr-x
我们把这10个列分成4块:[d] [rwx] [r-x] [r-x]
第一块:也就是第一列,用来表示这个文件的类型,有如下值:
(1)[ d ]则是目录,我这里的是d,表示的是一个目录
(2)[ - ]则是文件;
(3)[ l ]则表示为连结档(link file);
(4)[ b ]则表示为装置文件里面的可供储存的接口设备;
(5)[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
第二块:第 2到4 列,表示文件拥有者的权限。
第三块:第5到7 列,表示拥有者同组人的权限。
第四块:第8到10列,表示是非拥有者组人的权限。
这些权限均有[rwx] 三个参数表示,而且分别对应不同的位置。每块由3个列组成,每列对应一个值。 [ r ]代表可读、[ w ]代表可写、[ x ]代表可执行。
举例: 如果拥有者只有只读的权限,那么第2到4列就是[r-],有读写的权限就是[rw-],有读写和执行的权利就是[rwx].
使用数字赋权的命令格式如下:
chmod abc filename
其中的abc 分别代表3个数字,并且分别对应问个不同的属组。 即:
数字a 对应 第2到4位,表示拥有者的权限。
数字b 对应 第5到7位,表示同组用户的权限。
数字c 对应第8到10位,表示其他组的权限。
rwx 对应4,2,1. 那么只读的权限用4表示[r--],读写用6(4+2)表示[rw-],写加执行用7(4+2+1)表示[rwx]。 只读加执行用5(4+1)表示[r-x]。
示例:
chmod 755 file1
chmod 777 file1 <==> chmod a=rwx file
chmod 771 file <==> chmod ug=rwx,o=x file
chown
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
1.命令格式:
chown [选项]… [所有者][:[组]] 文件…
2.命令功能:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员
例子
实例1:改变拥有者和群组
命令:chown mail:mail log2012.log
实例2:改变文件拥有者和群组
命令:chown root: log2012.log
实例4:改变指定目录以及其子目录下的所有文件的拥有者和群组
命令:chown -R -v root:mail test6