http://billie66.github.io/TLCL/book/
1、Ubuntu && linux shell 命令
Ubuntu两个重要版本:12.04和14.04
在终端中:man <命令> 打开命令的手册;/ -a 找参数/ -,会车;查找下一处 n;推出用户手册 q;
终端命令扩展阅读:第二章、第六章
1 根目录root directory:/ 2 pwd 打印用户当前目录 3 绝对路径 /开头 4 相对路径 . .. .代表当前工作目录; ..代表当前工作目录他爹 5 cd 命令change dir :cd / 到达分目录 ;cd - 回到原来的目录;输入文件名一部分,tab 自动补齐;敲两次tab 显示所有相同的供选择; 6 rm abb.txt 删除文件 7 rm -r abb 删除abb文件夹 8 control + a 到行首; 9 vim编辑器命令: 10 i 进去插入模式,可以编写修改了; 11 ZZ 退出; 12 命令行执行.sh脚本 ./abb.sh 13 常用知识放到大脑的内存区,用的时候马上敲出来;不常用的知识,知道原理,放到硬盘区,用的时候知道去哪里查找;
- copy 拷贝
cp file1 file2
cp -r dir1 dir2
- move 移动
mv file .. 移动到上一级
mv file dir/ 把file文件移动到当前目录的 dir 文件夹中
- rename 重命名文件
mv file1 file2
mv dir1 dir2 # dir2 存在,则为移动操作
- remove 删除
rm file
rm -r dir
rm -rf * 删除所有文件
- 创建文件
touch a.txt
touch .a.txt 创建一个隐藏的文件
>a.txt 用重定向符创建一个文件
- 创建目录 mkdir dir
- 查看文件
cat file 查看文件的内容,文件内容一大片
less file 查看的文件可以分页;j 向下滚屏幕;k 向上滚屏;/ 字符查找 n 下一处;g 到文件头 G 到文件尾部;q 推出;man 工具底层的分页器就是less;
ls 查看文件价下的所有文件; ls -a 查看文件下所有的文件(包含隐藏的文件)
- 查看文件类型 file a.txt
- 打印 echo
echo a* 打印出当前文件夹下所有a开头的文件名
- 解压 unzipip ; 压缩 zip -r <打包后的文件名.zip> <要打包的文件>;
unzip abb.zip 解压缩 abb.zip
zip -r abb
2、重定向
(1)三个重要的文件
everything is file
文件描述符: 0 标准输入文件; 1 标准输出文件; 2 标准错误文件;
「 cowsay 程序,推出 control + d 」
输出重定向,> ,就是把程序正常的输出保存到一个文件中;// 重定向符号的特点就是每次重定向之前先把文件清空; 避免的话用 >>
2> 错误信息 重定向输出
|grep
3、 Linux 用户 和 文件权限「who is writable」
「 用户除了在用户主目录中有权限,其他地方如新建文件、安装软件等都没有权限,需要开头加上 sudo 」
权限被拒绝报错: Promission denied;
(1) 用户读文件的 三种权限:
读:reading --> r
写:writing --> w
可执行:executing --> x
「 linux 是个多用户的操作系统,意味着很多人可能同时使用一台计算、编辑同一个文件;根据用户的权限不同, 将用户分为三类:
owner -- 拥有者
group -- 小组
world -- 其他人
(2)文件模式 (对文件权限的控制 体现在文件模式上)
ls -l a.txt // 查看文件权限
ls -ld mydir // 查看目录的权限
## 第一位表示文件类型: - 普通文件;l 符号链接;d 目录;
## rw-rw-r-- 这9位表示文件模式: 前三个一组表示owner对文件的权限 后边两组分别表示 group 和 world 的对文件的权限;
读、写、可执行分别用r、w、x表示,没有用 - 表示;
## 第一个peter 表示 owner的名字;第二个peter 表示group的名字;
## 0 表示文件大小 size in byte
## Ang 30 11:57 表示最后修改时间;
| | |
增加权限命令 chmod 「change file mode」
chmod +r <filename>;chmod +r <filename>; chmod +x <filename>; // 针对 owner 和 group 的用户增加权限,world需要转化成8进制,或一下命令:
4、 Linux 的进程 process
用户每次在系统上执行一个程序,系统都会在底层开启一个新的进程;
(1)获取进程号 PID process id
ps // 报告当前系统上当前的进程状况
ps aux|less 查看系统上所有的进程;
ps aux|grep abb 查找abb
(2)后台执行
fiefox &
(3)kill 结束进程
kill 可以向进程发送各种编号,执行不同的命令
kill -9 <PID> 杀死进程
exit 退出进程;
5、linux 查找
(1)locate 在系统全局范围内 查找文件
locate 不是直接搜索文件系统,而是从数据库读(databases)文件;速度非常快;
系统上还有一个updatedb,每天执行一次,把文件系统上的数据传到数据库,所以 locate 不能查找刚刚创建的文件,如下图:
「 补救的办法是,手动执行一下updatedb : sudo updatedb 」
(2)find 在目录范围内 查找文件: 给find 一个目录,他就帮你翻找个底儿朝天
find . 列出所有文件
find .|grep .txt 查找出所有 txt 的文件
find . -type f 列出所有 type 文件
find . -type d 列出所有 目录
(3)grep
5、 LInux 的网络操作
(1)ssh 远程操作工具
(2)rsync 数据传输工具
6、Linux 软件安装
(1)手动安装
(2)deb 包
(3)从 apt-get 仓库安装
7、shell脚本编程
自小就被告知一个道理:如果你想成为一个特立独行的人,就要成为一个艺术家,任意挥洒自己的才华,或者当一个自耕农,和别人老死不相往来;但是如果你想和他人合作,做一个庞大而惊人的项目,就必须牺牲个人的自由来换取组织的成功;但是Linux Torvalds显然不这么认为,91年他在大学宿舍中发起了Linux项目,自此采取一种松散的方式管理者全球几千人的开发团队做出了Linux 这个人类有史以来最大的软件项目;Linux价值百亿美元,我们使用Linux 需要0元;Linux Torvalds和他人合写了这本书,记录了这场不期而遇的革命;欢迎自己来带开元世界的童话王国,北京的Linux用户组 http://beijinglug.org/,哪里有太多大牛,据说会得到他们无私的帮助!
继续探究技术的边界!
艺术家 自耕农 团队项目 Linux Torvalds