1、ls -lht
会列出当前目录下每个文件的大小,同时也会给出当前目录下所有文件大小总和。
2、tar -xzvf xxx.tar.gz -C xxx (目录)
解压到指定目录
3、lscpu
查看cpu和处理单元的信息
4、cat /proc/cpuinfo
查看cpu整体信息
5、cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l
查看物理cpu个数
6、cat /proc/cpuinfo | grep “cpu cores” | uniq
查看每个物理cpu中core的个数(即核数)
7、cat /proc/cpuinfo | grep “processor” | wc -l
查看逻辑cpu 的个数
8、cat /proc/cpuinfo | grep name | cut -f2 -d : | uniq -c
查看cpu的型号
9、make -j8 2>&1 | tee build.log
各参数解释如下:
上面8 是代表8个线程同时编译,一般是选择cpu核心数的2倍
2是标准错误,&1是标准输出,2>&1意思是将标准错误输出到标准输出中。
tee的作用同时输出到控制台和文件
make > build.log 是将所有标准输出到这个文件中,并没有定义标准错误应该是定义到了标准输出,也就是说如果make 执行出现错误,那么就不会写到build.log中,而是输出到屏幕上。2>&1是错误和结果都重定向到build.log中。最后可以到根目录中看到build.log
一、查看目录的内容(ls)
1.ls 目录的路径
eg:查看主目录下workdir的内容
ls /home/cyg/workdir
2.参数-l(显示属性信息)
A.ls -l(列举当前目录文件的属性信息)
B.ls -l 路径(查看指定目录中文件的属性信息)
3.参数-a(查看所有文件,包括隐藏文件(文件名以 . 开头))
eg:ls -a
4.查看指定文件的大小
eg:ls -lh hello.c
5.查看指定文件的属性信息(ls -l 文件路径)
eg:ls -l /home/cyg/workdir/hello.c
二、获取当前目录
eg:pwd
三、查看文件的内容
1.cat
A.cat 文件名的路径
eg:
cat /etc/passwd(在终端上显示/etc/passwd文件内容)
cat -n /etc/passwd(显示文件的同时会显示行号)
B.cat 文件名(查看当前目录的内容)
eg:
cat test.c
cat -n test.c
2.less/more
eg:
less /etc/passwd(分屏显示文件的内容)
b键向前翻阅 d键向后翻阅 q键退出
more /etc/passwd(分屏显示文件的内容)
b键向后翻阅一点 d键向后翻阅 q键退出
四、删除(rm)
参数:-r(删除一个目录)
rm -r dir
参数:-f(强制删除)
rm -f file
建议:rm -rf 文件
五、拷贝(cp)
1、本地备份
例如:workdir目录有个test.c
备份test.c文件:cp 文件名 new文件名
eg:cp test.c baktest.c
2.将一个文件拷贝到另外一个目录
workdir:test1.c -> /home/cyg
cp test1.c /home/cyg
注意:如果是一个目录需要加-a参数
eg:dir -> bakdir
cp dir bakdir -a
workdir:dir -> /home/cyg
cp dir /home/cyg -a
六、移动(mv)
1.重命名
例如:workdir目录下有一个test.c,想把test.c改名为cyg.c
A.进入workdir目录
B.mv test.c cyg.c
或:mv workdir路径/test.c
2.将一个文件移动到另外一个目录下
例如:workdir目录下一个test.c文件,想把test.c文件移动到用户主目录
A.进入workdir目录
B.mv test.c /home/cyg
注意:没有-a,文件和目录一样
七、创建目录(mkdir)
A.当前目录创建testdir目录
mkdir testdir
B.在/home/cyg/workdir目录下创建testdir目录
mkdir /home/cyg/workdir/testdir
C.想在/home/cyg/test目录下同时新建/home/cyg/test/test1/test2
mkdir /home/cyg/test/test1/test2 -p
八、rmdir删除一个目录(此目录必须是空目录)
九、切换目录(cd)
1.cd 回车
直接切换到用户主目录
2.cd 路径
切换到指定的路径下
3.cd -
切换到上一次操作的目录
4.cd …
切换到上一级目录
十、查找字符串(grep)
1.在一个文件中搜索一个字符串
A.grep “string” file
B.grep -n “string” file(显示string在file中的哪一行)
2.在当前目录下得所有文件(不包括目录)中搜索string
grep “string” *
3.在当前目录下得所有文件(包括子目录)中搜索string
grep “string” * -nR
4.不同搜索方式
A.grep “string” file
会搜索出所有含有string的字符串
B.grep “^string” file
会搜索出所有以string为开头的字符串
C.grep “string$” file
会搜索出所有以string为结尾的字符串
D.grep “^string$” file
只会搜索出string的字符串(只找string的字符串)
十一、查找文件(find)
find -name “file”
在当前目录下搜索file文件
find 路径 -name “file”
在指定路径下搜索file文件
十二、从文件的开头或尾部显示
head -10 /etc/passwd
显示/etc/passwd的前10行
tail -10 /etc/passwd
显示/etc/passwd的后10行
十三、对一个文件的内容进行排序并显示在屏幕上(文件本身的内容不会改变)
1.sort test.c
将test.c文件中内容以ASCII码的形式进行从小到大的排序,
排序的结果显示在屏幕上
2.sort -r test.c
将test.c文件中内容以ASCII码的形式进行从大到小的排序,
排序的结果显示在屏幕上
3.sort -n test1
将以10进制的大小进行排序,并显示在屏幕上,此时不以ASCII码为准
4.参数-o 指定输出的文件
sort -n -r test1 -o test1
从大倒下以十进制比较方式对test1文件进行排序,并且排序的结果输出到test1文件中
十四、去掉文件中相邻的行(uniq)
uniq test2
去掉test2中相邻的行
十五、比较两个文件(diff)
diff test1.c test2.c
比较test1.c与test2.c 是否一样
十六、显示字符串echo
1.echo “helloword”
屏幕上显示helloword并换行
2.echo -n “hellowrod”
屏幕上显示helloword不换行
十七.显示日期(date)
十八、压缩文件(不能是目录)
1.gzip 普通压缩
gzip test2.c
将test2.c压缩成test2.c.gz
2.bzip2 高压缩
bzip2 test2.c
将test2.c压缩成test2.c.bz2
十九、解压缩
1.解压以gzip压缩的文件
gunzip test2.c.gz
2.解压以bzip2压缩的文件
bunzip2 test2.c.bz2
二十.打包
-c =>创建
-x =>释放
-z =>处理以gzip压缩的tar包
-j =>处理以bzip2压缩的tar包
-f =>指定文件
-v =>显示信息
1.打包
tar -cvf xxx.tar 目录
2.打包并以gzip压缩
tar -czvf xxx.tar.gz 目录
3.打包并以bzip2压缩
tar -cjvf xxx.tar.bz2 目录
4.释放以gzip压缩打成的包
tar -xzvf xxx.tar.gz
5.释放以bzip2压缩打成的包
tar -xjvf xxx.tar.bz2
二十一、查看进程信息(ps)
ps -ef显示系统中所有的进程信息
eg:ps -ef | grep “进程名”
二十二 、杀死一个进程
kill 进程ID
eg:kill 72027
杀死进程ID号是72027的进程
killall 进程名
eg:killall a.out
杀死所有以a.out为名的进程
二十三、查看磁盘使用情况
df -h
二十四、统计一个目录的大小
du -sh
二十五、修改文件的权限(chmod)
r -> read
w -> write
x -> 执行
u -> user
g -> group
o -> other
eg:
chmod u+x test1.c
给test1.c的文件所有者增加执行权限
chomd u-w test1.c
去除test1.c的文件所有者的写权限
注意:不能限制管理员的权限
二十六、改变文件的所有者(chown)
eg:
sudo chown root a.out
将a.out的文件所有者改为root
二十七、改变文件所属组(chgrp)
eg:
sudo chgrp root a.out
将a.out的所属的组改为root
一、压缩文件
1.gzip
gzip filename ->生成filename.gz
2.bzip2(压缩比例更高)
bzip2 filename ->生成filename.bz2
3.解压缩
gzip -> gunzip
eg:
gunzip filename.gz
bzip2 -> bunzip2
eg:
bunzip2 filename.bz2
4.tar
-c 创建
-f 指定文件名
-x 解压
-z gzip压缩后打成的包
-j bzip2压缩后打成的包
-v 显示信息
A.把一个目录打成包
tar -cvf dir.tar dir
B.压缩
gzip dir.tar -> dir.tar.gz
bzip2 dir.tar -> dir.tar.bz2
一步操作
tar -czvf dir.tar.gz dir -> dir.tar.gz
tar -cjvf dir.tar.bz2 dir ->dir.tar.bz2
解压dir.tar.gz的包
tar -xzvf dir.tar.gz
解压dir.tar.bz2的包
tar -xjvf dir.tar.bz2
二、进程的操作
1.显示系统所有的进程
ps -ef
2.显示其中的一个进程
ps -ef | grep “进程名”
3.杀死一个进程
kill -9 PID
killall -KILL “进程名”
三、文件属性的操作
owner group
-rwxr-xr-x 1 linux linux 7192 2012-03-14 11:12 a.out
- rwx r-x r-x
(普通文件) (文件的所有者) (同组的权限) (其他用户)用户
7 5 5
八进制表示(权限):0755
u 文件所有者
g 文件所属组用户
o 其他用户
r 读
w 写
x 执行
- 增加权限
- 去掉权限
A.改变权限(chmod)
chmod u-x a.out 去掉文件所有者的执行权限
chmod u+x a.out 增加文件所有者的执行权限
chmod 777 a.out 八进制形式增加权限(owner group other都拥有读、写、执行的权限)
B.改变所有者(chown)
chown 所有者名 file
eg:
sudo chown root file
把文件的所有者改为root
C.改变所属组(chgrp)
chgrp 组名 file
eg:
sudo chgrp root file
把文件所属组改为root
练习
1.在用户主目录下新建一个目录(dir),在这个目录下新建一个文件hello.c
2.用vi在hello.c中写一段代码
3.编译hello.c
4.将dir目录备份(dirbak)
5.将dir目录改名为new-dir
6.进入new-dir目录,对a.out文件进行权限修改
文件所有者改为root
a.out文件的所有者对他有读权限,同组用户对他有写权限,其他组对他有执行权限
用八进制表示a.out的权限
7.分别以gzip/bzip2对dirbak目录进行打包压缩
8.将newdir的所有者、组都改为root
9.用户主目录中所有文件的 所有者 组名 进行裁剪并进行排序,放到log文件中
10.在log文件的最后存放用户主目录文件的个数
11.将/etc/passwd的第25行放在log文件的最后面
mount使用
挂载设备
mount 设备 挂载点
sudo mount /dev/sdb1 /mnt
挂载的是iso文件
sudo mount -o loop iso文件 挂载点
链接
1.硬链接
hello.c
ln hello.c hello-hard.c
注意:
1.不能夸文件系统
2.不能对目录进行硬链接
2.软链接
hello.c
ln -s hello.c hello-soft.c
可以对目录,跨文件系统进行软链接