1. Linux学习路线

* 操作命令
* 进程
* 进程之间进行数据的交互
* 线程
* 网络(跨机器的数据交互)
2. Linux历史

 百度上全有。

3. 操作系统定位

 操作系统是管理计算机软件与硬件的系统软件。
操作系统接口->程序员使用->函数(API Aplication Programning Interface) ->运维使用->命令
->普通用户使用->图像界面
4. Linux基本命令

* 1. ls [选项] [目录或文件] ls[list]:查看目录下面的内容(不一定为当前目录) 1. ls 文件目录 :查看指定目录 2. ls -a
: 显示目录所有的内容(可以查看到隐藏文件,Linux下隐藏文件以"."开头,在命名时以"."开头的文件就是隐藏文件) ls -l
:详细列出当前目录下文件信息,建立时间,行数,由谁创建等等信息ls -l -h 文件名:文件大小以千字节KB单位,文件过小时,还是以字节为单位 ls -F
:显示该目录下文件类型"filename1*" :可执行文件 "filename2/" :目录 "[email protected]" :符号链接 "filename4I"
:FIFOs"filename5=" :套接字 ls -k 文件名 : 显示目录中包含文件 ls -t 文件名 : 以时间排序(由近到远)显示目录中的文件 ls
-R 文件名 : 列出所有子目录下的文件(递归)ls -r :逆序显示 ls -1 :一列显示,一行只输出一个文件
* 2. pwd[print working dir] 查看当前工作目录
* 3. cd[change dir] cd:改变当前所在位置 1. cd / :进入根目录 /bin 二进制可执行命令。该目录下存放着普通用户的命令
/dev 系统的设备文件,即设备的驱动程序 /home 用户主目录的基点 /lost-found
这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里 /misc 储存着一些特殊的字符的定义 /net 存放着和网络相关的一些文件
/proc 存放着用户与内核的交互信息 /sbin 系统的管理命令,这里存放的是系统管理员使用的程序 /srv 系统启动服务时可以访问的数据库目录 /tmp
临时文件,重启后自动清空 /var 某些大文件的溢出区,比如各种服务的日志文件 /boot 启动linux的核心文件 /etc
系统所有的配置文件都在这个目录中 /lib 存放着和系统运行相关的库文件 /media 存放着可移除的设备,比如软盘,光盘 /mnt
挂载目录,是系统管理员临时安装文件的系统安装点 /opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置 /root 超级用户的目录
/selinux 主要用来加固操作系统,提高系统的安全性 /sys 管理设备文件 /usr 最大的目录,存放着应用程序和文件2. cd 路径 : 绝对目录 cd
所要去的目录 相对目录cd .. 返回上一级目录 cd ../../.. 可以一直返回,直到根目录 cd . 返回本级目录 每个文件中都会有"."".."
两个目录".":本目录 "..":上一级目录 3. cd :缺省值,直接回到当前用户目录下 root下回到root目录下 4. cd - :切换到上一次的目录
* 4. whoami whoami:查看当前用户是哪一个 who am i : 查看更多的当前用户信息
* 5. touch 文件名 创建文件(不是目录)
* 6. mkdir(->make dir) 目录名 创建一个目录 mkdir -p 路径:若路径中的某些目录上不存在,加上-p
选项,系统将自动建立那些并不存在的目录,即可以一次建立多层目录结构 mkdir-p a/b/c //在当前目录下递归建立a/b/c目录 mkdir -p
/a/b/c//在根目录下建立
* 7. rmdir 目录名 删除空目录 -p :当子目录被删除后,其父目录若变为空目录,就继续递归删除 //rmdir 只删除空目录
* 8. rm 文件名/目录名 删除文件或目录 1. rm -r(recursive递归) 目录名 :递归删除 //
目录中每个文件的删除都需要确认删除(root下),麻烦 2. rm -r -f 目录名 :强制递归删除,不进行删除确认 3. rm -f
:技术文件属性为只读(写保护),也直接删除
* 9. tab 自动补全,补全命令或者文件名
* 10. man(manual) 命令 linux帮助手册 j 向下滚动 k 向上滚动 q 退出 1. man man :manual手册的帮助手册
// man手册目录及举例 // man num 关键字 ,只在当前章节下查找 1. 命令 man 1 ls:查看ls命令的帮助手册 2. 系统API man
2 fork:查看fork函数的帮助手册 3. C库函数 man 3 printf:查看printf函数的帮助手册 4. 特殊文件,驱动相关 5. 配置文件相关
6. 游戏相关 7. 某一个主题 8. 系统管理员(root)使用的命令
* 11. 关机(root下) shutdown -h now //给该机器下所有用户广播关机提示 ↓调用 init 0 //关机启动,即为关机 init
1 //单用户,登陆不需要密码 init 2 //启动除了网络以外的服务(当然不启动图形界面) init 3 //启动除了图形界面以外的服务 init 4
unused init5 x-window//图形化界面 init 6 //重启 ↓调用 halt -p //关闭电源 一般关机使用halt -p即可
* 12. cp [选项] src dest 把src拷贝到dest,复制文件或目录 cp ../test . -r
:递归拷贝上一届目录中的test目录到当前目录-r/R :递归拷贝,将指定目录下的文件及子目录一并处理
* 13. su - username
切换用户到username,从普通用户切换到root用户需要root密码;从root用户切换到普通用户不需要密码,再切换到root时,直接 suexit
:中止当前用户
* 14. mv mv src sest :从src移动到dest mv name newname :把文件name改名为newname
可以在移动的同时进行改名 mv ./a ../b 1. -f : 如果目标文件存在,不会询问直接覆盖 2. -i : 如果目标文件存在,询问是否覆盖
* 15. cat [选项] [file] 查看file的内容,如果无file,则输入来自键盘文件(一切皆文件),将结果写到显示器文件 tac
[file] : 逆序显示 -n :对输出的所有行进行编号 -s :不输出多行空行 -b :对非空输出行进行编号(文件中如果有多行空行,只输出一行空行)
* 16. more file 分屏显示,会将内容一次性加载到内存中 -n :对输出的所有行进行编号 "空格"向下翻屏 "b" 向上翻屏 "Q" 退出
* 17. less file 阅读前不会全部加载(高效) / :向后查找内容 ?:向前查找内容 -i :忽略查找时的大小写 n :重复前一个查找 N
:反向重复前一个查找 -N :显示行号 "空格"向下翻屏 "b" 向上翻屏 "Q" 退出
* 18. head [-n 行数L] 显示该文件前L行,缺省显示十行
* 19. tail [-n 行数L] 显示该文件后L行,缺省显示十行 -f :循环读取
* 20. 输出重定向 //echo "输入内容" :将输入内容显示到屏幕 1. "输入内容" > file
重新定向输出内容的目标位置(目标位置内容被覆盖)2. "输入内容" >> file 重新定向输出内容的目标位置(在目标位置原有内容后追加,不覆盖)
若重定向文件不存在,则创建
* 21. ”|” 管道 1 | 2 :将1的执行结果放到管道,2从管道里取出数据继续进行处理
KISS原则的核心,使用管道将单一的命令组合在一起形成强大的功能
* 22. seq start end 输出从start开始到end为止的数字序列
* 23. wc(word count) file 统计文件中行数,单词,字符的个数 -l :行数 -c :字符数 -w :单词数
* 24. date 显示年月日星期时间时区 1. date +格式 :自定义格式输出,格式符使用时查询 man date %Y 年 %m 月 %d 日
......2. 格式中如果有自定义符号,需在格式两侧加"" date +"%Y-%m-%d" ==>年-月-日 3. 时间戳 date +%s date -d
@时间戳 :将时间戳转化为时间
* 25. cal 显示当前月历(阳历) cal -3 :显示前一,当前,后一月月历 cal year :显示某一年年历 cal -j year :将
year年年历按天数顺序显示出来
* 26. find 查找文件 find 路径 搜索条件(按名字,修改时间,文件大小等各种搜索条件) 1. 查找库文件 stdarg.h find
/usr/include/ -name "stdarg.h" 2. 找到一个星期以前被修改过的日志文件 find . -mtime 7 -name
"*.log" 如果找到后,还需要执行动作,则在命令之后紧接 -exec 命令 {} \; 若执行的动作每次都需要加上提醒,则 -ok 命令 {} \;
* 27. grep 要找的范围 文件 在指定范围中查找特定内容,这个内容可以是文件名也可以是文件的内容 1. xargs
xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行
2. 常用组合 find . -name "*.c" | xargs grep "main" 查找当前目录下所有.c文件中的"main" 3. grep -n
:输出行号
* 28. tar -c :建立一个压缩文件的参数指令 -x :解开一个压缩文件的参数指令 -t :查看tarfile里面的文件 -z :
使用gzip压缩 -j :使用bzip2压缩 -v :压缩过程中显示文件 -f :使用档名,f之后要立即接档名,不能再加参数 -C :解压到指定目录
常用命令 1. tar -cvf [生成文件名称] [源文件名称] :打包 //*.tar tar -xvf [生成文件名称] [源文件名称] :解包 2.
tar -czvf [生成文件名称] [源文件名称] :打包并压缩 //*.tar.gz tar -xzvf [生成文件名称] [源文件名称] :解包解压缩
* 29. bc 计算器,ctrl + d 结束
* 30. uname -a 显示所有系统信息 -r
* 31. file 文件 详细显示该文件是个什么类型文件