基本指令
ls指令:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
ls -l //一行只输出一个文件
pwd指令:显示当前用户所在目录
cd指令:改变工作目录,将当前工作目录改变到指定目录下
cd ..: 返回上级目录
cd ~:进入用户家目录
cd -:返回最近访问目录
touch指令:新建一个不存在的文件 && 更改文档或者目录的日期时间,包括存取时间和更改时间( -a )
mkdir指令:在当前目录下,创建一个目录
rm指令:删除文件或目录
rm -f 即使文件只读,亦直接删除
rm -i 删除前逐一询问
rm -r 删除目录及其下所有文件
man指令:man指令有8章。分别是:
1.普通命令
2.系统调用
3.库函数
4.特殊文件(驱动)
5.配置文件
6.游戏
7.某一个主题
8.系统管理员使用的命令
cp指令:复制文件或者目录
cp 源文件(目录) 目标文件(目录)
mv指令:移动文件或者文件改名 经常用来备份文件或者目录
mv 源文件(目录) 目标文件(目录)
cat指令:查看目标文件的内容
-n 对输出的所有行编号
more指令:功能类似cat,缺点是没有办法向前面翻,只能向后翻
less指令:Linux正统查看文件内容的工具,向前/向后面翻均可
head指令:默认打印其相应文件的开头十行 -n显示的行数
tail指令:查看日志文件
tail -f 会把文件的尾部内容显示到屏幕上,并且不断刷新,使看到最新的文件内容
面试题:有一个文件共有100行内容,请取出第50行内容:
方法1:head -n50 test >temp//将前50行装入临时文件中
tail -n1 temp
方法2:head -n50 test | tail -n1
时间相关的指令:
时间--》时间戳:date+%s
时间戳--》时间:date -d@时间戳 +%格式化
cal 显示当前月份 (万年历)
find指令:find -name 按照文件名查找文件
grep指令:在文件中搜索字符串,将找到的行打印出来
tar指令:
-C :解包到指定位置
tar -xzvf day01.tar.gz -C /temp/
-j 压缩成bzip2
-z 压缩成gzip
.tar.gz
压缩:tar -czvf day01.tar.gz day01解压:tar -xzvf day01.tar.gz
.tar.bz2
压缩:tar -cjvf day01.tar.bz2 day01 解压:tar -xjvf day01.tar.bz2
shell命令的运行原理:将使用者的命令翻译给内核(kernel)处理,同时将内核的处理结果翻译给使用者。
Linux权限管理:
(1)文件访问者的分类:所有者 所有者所在组 其他用户
(2)文件访问权限的种类:Read--r Write--w execute--x
(3)文件权限值表示方法:字符型表示法(r-- || rwx 等) 8进制数值表示法
(4)文件访问权限的相关设置方法:
chmod 设置文件的访问权限
例如:chmod u+w /home/abc.txt 向拥有者增加写权限
chown 修改文件的拥有者
例如:chown -R user1 f1
chgrp 修改文件或者目录所属组
例如:chgrp users /abc/f2
umask 查看或修改文件掩码
新建文件默认权限=0666-权限掩码
新建目录默认权限=0777-权限掩码
超级用户默认掩码:0022
普通用户默认掩码:0002
例如:umask 044 //设置权限
file指令: 辨识文件类型
-c 详细显示指令执行过程
关于粘滞位:
粘滞位只能对目录文件设置,防止被他人删除
关于sudo:使用sudo分配权限
关于权限:
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍有-r读权限。
vim:编辑器(只负责编写代码)重点掌握三种模式:命令模式 插入模式 末行模式 共有12种模式
gcc:编译器(只负责编译链接)
默认是动态链接,若要转换成静态:-static
区别:静态链接的程序更大,更方便,可移植性更强
动态链接的程序可移植性较差
重点是掌握编译链接的过程:
gdb:调试器(只负责调试)
要想使用gdb调试,必须在源代码生成二进制程序的时候加上-g选项
make和Makefile:Linux项目自动化构建工具
注意:make是一条命令,Makefile是一个文件 包含依赖关系和依赖方法
.PHONY:伪目标,伪目标的特性是总是被执行的。
yum:
yum list 列出当前一共有多少软件包
例如:yum list | grep gcc
yum install... 安装软件
yum remove... 卸载软件