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

                           

服务端 | Linux 学习总结 (一)的更多相关文章

  1. thrift 服务端linux C ++ 与客户端 windows python 环境配置(thrift 自带tutorial为例)

    关于Thrift文档化的确是做的不好.摸索了很久才终于把跨linux与windows跨C++与python语言的配置成功完成.以下是步骤: 1)                 Linux下环境配置 ...

  2. node服务端搭建学习笔记

    咳咳,终于迈出这一步了...这篇文章将是边学边写的真正笔记...用于mark下学习过程中的点滴~ 开篇先把我学习参考的文章来源给出,以表示对前人的尊敬: https://github.com/nswb ...

  3. nodejs服务端开发学习笔记

    正在学习中,不断改错... 学习了一段时间nodejs,对其中的很多东西还不是很理解,在网上看过很多的例子,希望通过自己的一些总结让自己了解的更全面些,同时也作为学习笔记留存备忘. 准备工作 node ...

  4. <Linux多线程服务端编程>学习记录

    使用智能指针解决多线程下 类的解析冲突问题 有这样一个场景 使用StockFactory记录Stock的信息  容器是map<string,smart_ptr>; 代码如下: #inclu ...

  5. 服务端Linux机器日志查看命令

    常用查看命令 ps -ef | grep java 查看当前机器运行程序: tail -100f /... 查看日志,实时的 less /- 按页查看日志,空格翻页,q退出 cat /.. | gre ...

  6. 服务端 | Nodejs 学习笔记(一)

    Node.js 前言: 2009年面世 nodejs.org 官网 https://www.npmjs.com/ 模块社区 github.com 仓库 stackoverflow.com  问答社区 ...

  7. [精华][推荐]CAS SSO单点登录服务端客户端学习

    1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...

  8. Holer服务端软件使用

    用户可以下载 holer-server.zip 搭建自己的Holer服务端. 1. 搭建Holer服务端准备工作 (1) 准备一台Linux系统或者Windows系统主机: (2) 安装Java 1. ...

  9. 阿里云ESC搭建SVN服务端

    CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取! 01.SVN服务的安装(subversion) 02.ESC安全组策略 1.在线安装svn服务 $ sudo  ...

随机推荐

  1. 4.4.2 OpenGL几何变换编程实例

    程序运行结果如下图: #include <GL/glut.h> #include <stdlib.h> #include <math.h> /* 初始化显示窗口大小 ...

  2. 优动漫PAINT之绘画助手软件简介

    在下载安装优动漫PAINT的时候,它会附带一个叫做绘画助手的一个小软件.绘画助手是一款用于PC端的创作辅助工具软件,针对画师们在绘画时可能遇到的各种问 题和需求,提供了作品保护.云配置.软件管理.色板 ...

  3. c++ socket C/S通信实例

    具体的实例连接: 客户端项目连接:http://pan.baidu.com/s/1c2MndTI 服务端项目连接:http://pan.baidu.com/s/1i4DFkFV 用vs2013打开,服 ...

  4. 洛谷P1941飞扬的小鸟 完全背包

    思维难度不大,就是有许多细节要注意. 1.不能开滚动数组. 2.要特判飞过天花板的情况. Code: #include<cstdio> #include<algorithm> ...

  5. mysql进阶练习

    一 .  MySQL进阶练习 /*==========================创建班级表=============================*/ CREATE TABLE class ( ...

  6. C语言提高 (5) 第五天 结构体,结构体对齐 文件

    1昨日回顾 2作业讲解 3 结构体的基本定义 //1 struct teacher { int id; char name[64]; }; struct teacher t5 = { 5, " ...

  7. springboot不加载bootstrap.properties文件

    1.首先说一下官网对bootstrap和application两种配置文件的区别: Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 ...

  8. nyoj28-大数阶乘

    大数阶乘 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0& ...

  9. 解决SpringBoot+JPA中使用set方法时自动更新数据库问题

    项目进行了三分之二了,突然出现一个很诡异的bug,数据库存储的用户表中密码信息总是自动消失一部分,头疼了几天后突然想起同事有个对低权限用户查询的用户信息向前台传送时会把密码设成null后再传输,心想是 ...

  10. python_格式化拼接、format,编码、解码

    一.格式化拼接.format 1.字符串拼接 name = "Monica", age = 16 print("姓名"+name+“年龄”+age+" ...