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