linux常用命令

来源:互联网 发布:centos配置ip地址 编辑:程序博客网 时间:2024/06/10 05:18
 

1.su

切换到 seasky用户,不需要输入密码,因为root的权限大

su - seasky

切换到root模式,需要输入密码.

su -

2.in

创建一个快捷方式

ln -s /usr/lib/libQtXml.so.4.6.3  /usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtXml.so.4

3.test [ ]

if [ -e  $APP_PATH/level3/lib ]   ==  if test -e  $APP_PATH/level3/lib

test -e  $APP_PATH/level3/lib

if [ "$?" == "0" ];then

mv $APP_PATH/level3/lib/* /usr/lib

rm -r $APP_PATH/level3/lib

echo "update level3/lib files."  >> /tmp/startlog.txt

fi

4.chmod

chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
语法:chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
  表示用户(user,即文件或目录的所有者。
  表示同组(group)用户,即与文件属主有相同组ID的所有用户。
  表示其他(others)用户
  表示所有(all)用户。它是系统默认值。
操作符号可以是:
  添加某个权限。
  取消某个权限。
  赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:
  可读。
  可写。
   可执行。
  只有目标文件对某些用户是可执行的或该目标文件是目录时才追加属性。
  在文件执行时把进程的属主或组ID置为该文件的文件属主。
      方式“us”设置文件的用户ID位,“gs”设置组ID位。
  保存程序的文本到交换设备上。
  与文件属主拥有一样的权限。
  与和文件属主同组的用户拥有一样的权限。
  与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:
chmod g+ro+r example  % 使同组和其他用户对文件example 有读权限。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读
权限,然后将其相加。所以数字属性的格式应为3个从07的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有/二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
语法:chmod [mode] 文件名
指令实例:
chmod a+x sort   
即设定文件sort的属性为:
 文件属主(u 增加执行权限
 与文件属主同组用户(g 增加执行权限
 其他用户(o 增加执行权限
chmod ug+wo-x text
即设定文件text的属性为:

 文件属主(u 增加写权限
 与文件属主同组用户(g 增加写权限
 其他用户(o 删除执行权限
chmod u+s a.out
假设执行chmoda.out的权限为(可以用ls – l a.out命令来看):
 –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
 并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”

  即该文件只有其属主具有读写权限。
   当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod
  
命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为

  其他人不具备任何权限),这就是s的功能。
  因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非
  必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。
chmod a–x mm.txt
chmod –x mm.txt
chmod ugo–x mm.txt
以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。

$ chmod 644 mm.txt
即设定文件mm.txt的属性为:-rw-r--r--
 文件属主(uinin 拥有读、写权限

 与文件属主同组人用户(g 拥有读权限
 其他人(o 拥有读权限
chmod 750 wch.txt
即设定wchtxt这个文件的属性为:-rwxr-x---
 文件主本人(uinin 可读/可写/可执行权

 与文件主同组人(g 可读/可执行权
 其他人(o 没有任何权限

5.mount

  mount -o nolock -t nfs 10.0.0.100:/opt/myfs /opt/nfs

  mount -t iso9660 /dev/cdrom /mnt/cdrom

 umount /mnt/cdrom

6.export

定义环境变量

export QT_QWS_FONTDIR=/tmp/fonts

7.* 通配符

/tmp/SSA* /vsftpd/pub/data/incoming/config/$DEV_TYPE2*.xml /vsftpd/pub/data/incoming/config/tdc.hosts* &

8.ifconfig 修改IP 子网掩码

ifconfig eth0 $IPADDR netmask 255.255.240.0

9.route 加入组播

route add -net 224.0.0.0 netmask 240.0.0.0 eth0

10.>>管道

echo "app starting..."  >> /tmp/startlog.txt

11.find

find -name "*log*" 查找当前目录(往里进)所有的有log的文件

find ./ -name "*log*"


从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR的行

find ./ -type f -name "*log*" | xargs grep "APP"   //找到log的文件名后,利用xargs把log文件名作为grep的参数

按内容查找

find ./ -name "*.*" | xargs grep 'metalib_base'

12.tail

tail -f log.txt //试试刷新并显示log文件

13.压缩和解压

.tar

解包: tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

.tar.gz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

---------------------------------------------

.rar

解压:rar e FileName.rar

压缩:rar a FileName.rar

13. mv 移走目录或者改文件名eg: mv filename1 filename2 //将filename1 改名为filename2mv qib.tgz ../qib.tgz //移到上一级目录

14.pwd //查看当前所在目录路径

15.clear:清屏,相当与DOS下的cls;

16.DF命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户,

格式:df 【options】-h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB,可以看使用情况,即已用多少,还剩多少;
17.7、cat >rr.c  创建一个新文件rr.c,若文件存在则覆盖原来文件的内容

   cat >> rr.c  若文件rr.c已经存在,则在文件rr.c末尾中添加新内容;如果rr.c文件不存在,则创建新文件

   cat rr1.c rr2.c > rr.c  将rr1.c和rr.c文件的内容合并到rr.c中

18.  单引号‘’、 双引号“”、 反引号`

(a)单引号’  :使用单引号时,shell将一对单引号之间的内容看成是纯粹的字符串信息,一对单引号之间可以包含更多的单引号。

        you=”kkk”

        echo  ‘this is just a ‘test’, can $you tell me the time ?’

将会显示this is just a ‘test’, can $you tell me the time ?,它不会将$you替换成“kkk“, 同时‘test’也是作为字符串内容来处理的。

(b)双引号“ : 它将双引号之间的特殊字符作为shell中的含义来解释。

       $ file=unixshell

       $ echo “the content of  `date` is in  $file”

这个例子将会显示 the content of wed Aug 16 16:20:12 is in unixshell,这个例子中,’date’被解释成了当前时间的返回值,$file被解释成了unixshell字符串

(c)反引号` 用它来赋值时,表示变量中保存的是执行对应命令的结果。

       name=`whoami`

       echo $name

  这个时候显示的不是字符串whoami,而是执行字符串whoami的返回结果,当然,要先保证字符串是一个合法的命令。

19.Shell中命令的位置变量

    

Bshell变量

      

CShell变量

      

变量的作用

      

$#

      

$#argv

      

位置参数的个数

      

$*

      

 

      

表示参数列表

      

$?

      

$status

      

前一个命令返回的状态值

      

$!

      

 

      

最近访问的后台进程pid值

      

$$

      

$$

      

当前shell进程的pid值