linux常用命令
1、chgrp 改变所属群组:
例:将install.log的群组改为users
chgrp users install.log
ls –l
查看结果:root users 68495 25 08:53 install.log
拥有者 群组
2、chown改变拥有者
例:将install.log文件拥有者改成bin这个账号
chown bin install.log
ls –l
结果:bin users 68945 25 08:53 install.log
例:将install.log的拥有者和群组改成root
chown root:root install.log
ls –l
结果:root root 68495 25 08:53 install.log
3、改变权限
设定权限的方法有两种,一种是使用数字,另一种是使用符号进行设定权限
·使用数字设定权限
linux文件的基本权限有九个,分别是owner、group、others三种身份各有自己的read、write、execute权限,分别是r:4、w:2、x:1每种身份都需要累加的
例:
ls –a .bashrc
-rw-r—r-- 1 root root 385 jul 4 11:45 .bashrc
chmod 777 .bashrc
ls –a .bashrc
-rwxrwxrwx 1 root root 385 jul 4 11:35 .bashrc
·符号类型改变文件权限
由u、g、a分别代表user、group、others,以及a代表all即全部的身份;+表示加入、-表示除去、=表示设定
例:
chmod u=rwx,go=rx .bashrc
注意:中间的u=rwx,go=rx是连在一起的,没有任何空格
chmod a+w .bashrc
chmod a-x .bashrc
4、目录的相关操作
cd(变换目录)
pwd(显示当前所在的目录)
[root@www ~]# pwd [-P]
选项与参数: -P :显示出确实的路径,而非使用连结 (link) 路径。
范例:单纯显示出目前的工作目录:
[root@www ~]# pwd /root <== 显示出目录啦~
范例:显示出实际的工作目录,而非连结档本身的目录名而已
[root@www ~]# cd /var/mail <==注意,/var/mail是一个连结档
[root@www mail]# pwd /var/mail <==列出目前的工作目录
[root@www mail]# pwd -P /var/spool/mail <==怎么回事?有没有加 -P 差很多~
[root@www mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54 /var/mail -> spool/mail
# 看到这里应该知道为啥了吧?因为 /var/mail 是连结档,连结到 /var/spool/mail # 所以,加上 pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!
mkdir(创建新目录)
[root@www ~]# mkdir [-mp] 目录名称
选项与参数:
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递回创建起来!
范例:请到/tmp底下尝试创建数个新目录看看:
[root@www ~]# cd /tmp
[root@www tmp]# mkdir test <==创建一名为 test 的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4': No such file or directory <== 没办法直接创建此目录啊!
[root@www tmp]# mkdir -p test1/test2/test3/test4 # 加了这个 -p 的选项,可以自行帮你创建多层目录!
范例:创建权限为rwx--x--x的目录
[root@www tmp]# mkdir -m 711 test2
[root@www tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# 仔细看上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。 # 那么你的默认属性为何?这要透过底下介绍的 umask 才能了解喔! ^_^
rmdir(删除空的目录)
[root@www ~]# rmdir [-p] 目录名称
选项与参数: -p :连同上一级『空的』目录也一起删除
范例:将於mkdir范例中创建的目录(/tmp底下)删除掉!
[root@www tmp]# ls -l <==看看有多少目录存在?
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@www tmp]# rmdir test <==可直接删除掉,没问题
[root@www tmp]# rmdir test1 <==因为尚有内容,所以无法删除!
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir -p test1/test2/test3/test4
[root@www tmp]# ls -l <==您看看,底下的输出中test与test1不见了!
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# 瞧!利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 一次删除~
# 不过要注意的是,这个 rmdir 仅能『删除空的目录』喔!
5、查看进程和服务
将所有的服务列举出来:
chkconfig --list [name]
查看某个具体服务的状态
service servicename status
查看进程
ps a 显示现行终端下的所有程序
例如:最常用的是ps aux,然后通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作
ps aux | grep program_filter_word,ps –ef |grep tomcat
ps –ef |grep java|grep –v grep 显示出所有的java进程,去除掉当前的grep进程。
rpm –qa|grep tomcat查看是否安装了tomcat
6、nastat用于查看显示各种网络相关的信息,如网络连接、路由表、接口状态等等
比如说
nastat -at查看所有tcp端口
nastat -a查看所有端口
nastat -au查看所有udp端口