man page
 
/usr/share/man
 
man1  用户指令  man 1 passwd
man5  文件      man 5 passwd
man8  管理员指令
 
ls 查看文件
ls -l 长模式
ls -a 所有的文件
ls -al
 
cp 拷贝文件
cp /etc/php.ini .
cp -r /etc/x11/ . 拷贝目录
 
mv 移动或者重命名文件
mv /etc/host.conf  .
mv host.conf  /etc
mv php.ini /etc/php.txt  重命名
 
rm 删除文件
rm -f(强制删除不提示)/etc/php.txt
rm -rf 强制删除目录
 
 
touch 创建空文件或更新文件时间(如果文件已存在)
touch test.txt
 
cd 改变当前路径
cd /home
cd ..  上层目录
cd  当前目录的家目录
cd ~ 当前用户家目录
 
pwd 查看当前完整路径
 
mkdir 新建目录
mkdir test
cd
rmdir 删除目录
rmdir test  只能删除空目录
rm -rf test 强制删除

cat 查看文件内容
cat /etc/services

more  逐屏查看文件内容
more /etc/services

less 逐行查看文件内容


date 显示当前时间
cal  显示月历
cal 2008
cal 9 2008

df  查看系统磁盘容量
df -h  以KB MB GB 显示

du 记录目录下文件占用磁盘空间容量
du /etc/services
du -h /etc/services

head  显示文件开头内容
head /etc/text
tail 显示文件最后部分内容
tail /etc/test

su root
su -root
su -
exit

重启
reboot
shutdown -r now
init 6

关机
halt
shutdown -h now
poweroff
init 0



file 检查文件类型
file text.txt


文件标识类型
文件权限第一个字母
-    一般文件
d  目录文件
b  块设备文件   硬盘
c  字符设备文件   鼠标键盘  打印设备
l  链接文件   快捷方式
p  人工管道   用于不同进程之间的信息传递


文件权限
拥有者(u)
所属组的成员(g)
其他用户(o)


读(r)
写(w)
执行(X)
-rw-r--r-- 644
-rwxrwxrwx   777

chmod 更改文件权限
只有文件拥有者和root帐户可以更改文件权限
chmod u+x g+x o+x  test.txt
chmod u-x g-x o-x  test.txt
chmod u=rwx  test.txt
chmod u=rw,g=r,o=r test.txt
chmod ugo=rwx test.txt
chmod a=rwx test.txt
chmod 777 test.txt
chmod 644 test.txt

chmod -R 更改目录和目录下所有文件权限
chmod -R 777 test.txt

ls -l --full-time 显示完整时间


chgrp  改变文件所属群组
chgrp root test.txt

chown  改变文件拥有者
chown root:root install.log
chown user.group file


ln 建立链接
硬链接 :   ln 源文件   新建链接名   
软链接 :    ln -s 源文件  新建链接名

硬链接  完全等同与源文件  不可以跨文件系统   不可以给目录建立链接
软链接  相当于源文件的快捷方式

echo "hello" >/home/etc/test.txt

sudo useradd username
添加用户


.文件是对当前目录的一个硬链接
..文件是对上级目录的一个硬链接

pwd  显示当前目录的完整路径




执行权限表示用户是否可以进入此目录,将他当成工作目录
同时也没有写入权限,必须有执行权限时,写入权限才有效

强制位  冒险位
针对 u,g,o分别有set uid ,set gid,sticky
添加在执行权限位置上,如果已有执行权限则强制位和冒险位用小写字母表示

set uid和set gid在u和g的x位置上各采用一个s
sticky使用一个t

chmod g+s test  强制在此目录下任何人建立的文件都和目录属于同一组

chmod o-t /tmp

目录设定冒险位表示此目录只有文件拥有者和root用户有权限删除文件

强制位对文件的作用
默认情况下,用户运行一个指令,会以该用户的身份来运行
指令文件上的强制位可以让指令文件以文件的拥有者或所属组的身份运行进程

chmod u-s /bin/ping

/usr/bin/passwd

set uid   chmod u+s  只能对文件设定set uid
set gid   chmod g+s  都可以
sticky    chmod o+t  只能对目录设定冒险位

强制位和冒险位也可以通过一个数字加和,放在读写执行的三位数字之前来指定
4(set uid)
2(set gid)
1(sticky)

4777
4644
2777
2644
1777
1644
6777
6644
3777
3644
0777
0644


umask
umask -S
一般用户的umask值为002
系统用户的umask值为022

没有掩码的情况下
文件的默认权限是 rw-rw-rw- 666
目录的默认权限是rwxrwxrwx  777

文件和目录的真实权限为默认权限减去umask值

修改umask值   例如:umask 003



根目录下的目录
/bin   存储常用用户指令
/boot  存储核心,模块映像等启动文件
/dev   存储设备文件
/etc   存储系统,服务的配置目录与文件
/home  存放个人主目录
/lib   存放库文件,诸如核心模块,驱动
/lost+found : 存储fack用的孤儿文件

/mnt    系统加载文件系统时用的常用挂载点
/opt    第三方工具使用的安装目录
/proc   虚拟文件系统,包含系统讯息等资料
/root   root用户的主目录
/sbin   存储系统管理用的指令
/tmp     临时文件的暂存点
/usr     存放和用户直接相关的文件和目录
/var    存储在系统运行中可能会更改的数据



输入:过滤器的数据来源
标准输入 stdin(0):默认是键盘

输出: 过滤器的数据去向
标准输出:stdout(1):默认是终端屏幕

错误输出:报错讯息与标准输出走不同的I/O通道
标准错误输出:stderr(2):默认是终端屏幕

重定向:标准输入,输出与错误输出,都可以用特定符号改变数据来源或去向

/dev/sdt*



使用< 来重定向输入源
command <  file
tr 'A-Z' 'a-z' < .bash_profile


<<从当前文档输入
cat >cat.file<<!
>this is test
>!

使用>改变数据输出目标
ls -al > list.file
文件已有内容将被清除


覆盖与追加
使用>> 可以将输出追加到文件里
ls >list.file
ls -al >>list.file



使用2> 将报错讯息重定向入一个文件
ls-l 2> test

使用2>>将报错讯息追加入一个文件
ls-l 2>>test


双重重定向
一次性地将正确信息和错误讯息分别输出到两个单独的文件
find /etc -name passwd 2> stderr >stdout


使用&>将所有输出重定向到同一个文件
find /etc -name passwd &> allout

find /etc -name passwd &> allout 2>&1


管道
使用  | 将前一个过滤器的输出直接送入后一个过滤器的输入
ls -l | grep pass

ls -al /etc | more

允许多重管道

ls -al /etc | more | grep fstab


cat < file >fileb  拷贝文件
echo "hello" > filea
cat filea

touch fileb
cat < filea > fileb
cat fileb

cat file.* > file
将多个小文件合并成一个文件

cat filea;cat fileb
hello
hello
cat filea fileb >file
cat file
hello
hello

cat file* > file
cat file
hello
hello
hello
hello





which
显示一个可执行文件的完整路径
按照alias——> $PATH的顺序查找
which ls


whereis
搜索一个可执行工具及其相关配置帮助信息

whereis ls


slocate 关键字搜索
语法
slocate [关键字]
locate

ls -l /usr/bin/locate


find [路径][参数][表达式]

find /root -user root
find /root -group root
find /etc -name  passwd

find /etc -size +1000k
find /etc -size -1000k

find /etc -type f
find /dev -type b
find /etc -type l
find /dev -type c
find /root -type d
       

find /etc -nouser
find /etc -nogroup

find /home -perm 0644

find /home -perm +6000  二进制前2位有一即可   设置呢set uid 或者 set gid
find /home -perm -6000  二进制前2位必须都是1  缺一不可   设置set uid和set gid

find 加exec 接额外的命令
find /home -perm 6000 -exec chown ofred.ofred {} \ ;
{}代表find找到的文件
\  禁止转意
;  表示本行指令结束


wc 统计文件的行,词,字数
wc linux笔记.txt
wc -l linux笔记.txt    只查看行数
wc -w  linux笔记.txt   只查看字数
wc -c  linux笔记.txt   只查看字符数

grep   显示文件中匹配关键字的行
grep "txt"  linux笔记.txt
grep "a" text
grep -n "a"  text   搜索时显示行号
grep -v "a"  text   搜索没有a字符的行

sort  按序重排文本显示
-r  反向配列
-t
-k 


diff  报告文本差异内容
diff abc ABC

comp 报告文件差异位置

uniq 输出文件中的内容(去除重复的行)
sort file | uniq

cut 显示文件中的某一列
cut -f3 text   显示text文件第三列内容
cut -f2 -d, text  以,号为间隔 截取第二行
cut -c4-8 text   显示第4个到第8个字符间的列内容

paste  将文本按列拼接  水平拼接
paste  abc ABC > text

cat abc ABC  > text  将文件垂直拼接

           
压缩
gzip gunzip
只能对文件进行压缩
gzip text
gunzip text.gz
gzip -d text.gz

zcat file.gz   查看压缩文件内的内容



compress uncompress
旧的unix压缩工具
可以压缩文件和目录

bzip2  bunzip2
比gzip压缩率更高
只能对文件进行压缩

bzip2 text
bunzip2 text.bz2
bzip2 -d text.bz2
bzcat file.bz2





tar
打包文件和目录
c: 将文件备份出来
v: 将过程输出
x: 从一个文件中解出备份

tar cvf test.tar test
tar cvf 1.tar  test test1 将两个文件打包在一起
tar xvf test.tar   解包
tar tf 1.tar   查看tar包里面的内容
tar cvf  1.tar test -C /home   指定打包后的文件路径

tar zcvf 1.tar.gz test   打包并压缩
tar zxvf 1.tar.gz        解压并解包