linux就该这么学

前言

学习是一件苦差

       我无意回避这个问题--学习本是件痛苦的事情,如果学习Linux真的很简单,那么必是骗子说的谎话,起码这不能给你带来高薪,打开电脑后沉思,是该聊会天那~还是追个美剧那~还是打盘LOL那~还是看看那该死刘遄写的那本可怕的Linux教材时,请不要忘记自己最初的梦想,十年后你会感谢此时正在努力的自己。我身为作者的使命就是一定要对得起您花费的时间、精力、金钱,让你学完每一章节都是一次进步,读完稻盛和夫先生的活法后发现“我们也可以从学习中获得快乐”。

        “工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时快感,决不能尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不想糖果那样--放到嘴里就甜味十足,而是从苦劳与艰辛中渗出,因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可以类比。”

       “更何况人类生活中工作占据了较大的比重,如果不能从劳动中、工作中获得充实感,那么即使从其他地方找到快乐,最终我们仍然感到空虚和缺感。”     -----from by Linux就该这么学,与沉沦在迷惘道路的同伴共勉。

 

1.执行脚本三种方法: (1)./build.sh  (2)sh build.sh (3)source build.sh

2.赋予脚本执行权限 chmod u+x build.sh

3.接收用户参数

$0:当前执行shell脚本的程序名  $1-9 ${10} ${11}:参数位置的变量

$#:一共有多少个参数      $*:所有位置参数的值

$?:判断上一条命令是否执行成功,0为成功,非0为失败

4.判断用户参数

-d:测试是否为目录       -e:测试文件或者目录是否存在

-f:判断是否为文件      -r:判断当前用户是否有权限读取

-w:测试当前用户是否有权限写入  -x:测试当前用户是否有权限执行

5.操作符

-eq:判断是否等于       -ne:判断是否不等于

-gt:判断是否大于     -lt:判断是否小于

-le:判断是否等于或者小于   -ge:判断是否大于或者等于

6.man命令操作按键

/关键字:从上到下搜索某个关键字如:“/linux”       ?关键字 :从上到下搜索某个关键字如:“/linux”

n:定位到下一个搜索到的关键字    N:定位到上一个所搜到的关键字

空格:向下翻一页     home:直接前往首页  end:直接前往尾页

q:退出帮助文档

7.echo 命令用于在终端显示字符串或者变量 格式:echo [ 字符串 | 变量 ]

8.date用于显示或者设置系统时间和日期,格式 date [选项] [+指定格式]如:

#:date

#:date "+%Y-%m-%d %H:%M:%S"

9.reboot重启系统(仅root用户可以使用)

10.wget命令用于下载网络文件 格式为:wget [参数] 下载地址

-b:后台下载  -O:下载到指定目录 

11.ifconfig用于获取网卡配置和网络状态等信息,格式:ifconfig [网络设备] [参数]

12.uname 查看系统内核版本等信息,格式:uname [-a]

13.uptime 用于查看系统的负载情况,经常用watch -n 1 uptime查看每秒负载情况

14.free用于显示系统内存的使用情况,格式:free [-m/-g]

15.who用于查看当前登入主机的用户情况,格式:who [参数]

16.last用于查看系统所有的登入情况,格式:last [参数]

17.history用于显示历史执行过的命令,格式:history [-c]   备注:-c会清掉历史记录   历史记录保存在.bash_history文件夹,Linux系统中以(.)开头的文件均代表隐藏文件,一般都是系统文件。

18.ls 用于查看目录中有哪些文件,格式:ls [选项] [文件]

-a:查看所有文件(包括隐藏文件)     -d:仅看目录本身

-h:易读文件容量(如:k,m,g)              -l:显示文件的详细信息

19.文本编辑命令

1)cat:用于查看纯文本文件(较短的),格式:cat [选项] [文件]   -n显示行号  -b显示行号(不包括空行) -A显示不可见的符号(空格,tab键等)

2)more:用于查看纯文本文件(较长的)格式:more [选项] 文件

3)head:用于查看纯文本的前n行,格式:head [选项] [文件夹] 如:head -n 30 文件名

4)tr:用于转换文本中的字符  如:cat tr.txt | tr [a-z] [A-Z]

5)wc用于统计指定文本的行数、字数、字节数

6)diff用于比较多个文本的差异 如:diff a.txt b.txt

20.文件和目录管理命令

1)touch用于创建文件或者修改文件时间 如:touch -d "2 days age" test将访问与修改时间改为2天前

2)mkdir 用于创建空白文件夹   格式:mkdir [选项] 目录   -m=MODE 默认文件目录权限,如“-m 755”

-p:连续创建多层目录  -v:显示创建过程

3)mv用于移动文件或者改名

4)rm用于删除文件或者目录

21.用户与组管理命令

1)useradd用于创建新的用户  格式:useradd [选项] 用户名    -d:指定用户的家目录  -e:账号的有效时间

2)passwd用于修改用户密码

22.打包压缩文件命令

tar用于文件的打包压缩或者解压 格式:tar [选项] [文件]

-c:创建压缩文件  -x:打开压缩文件   -t:查看压缩包内有哪些文件   -z:用Gzip压缩或者解压

-j:用bzip2压缩或者解压    -v:显示压缩或者解压过程   -f:目标文件名  -P:使用绝对路劲压缩  -C:指定解压到目录

打包压缩文件:tar -czvf 压缩包名.tar.gz 文件名 如:tar -czvf demo.tar.gz /etc

解压并展开压缩包:tar -xzvf 压缩包名.tar.gz  如: tar -xzvf demo.tar.gz /root/system

23.文件搜索命令

1)grep用于对文本文件进行搜索    格式:grep [选项] 文件

-b:将可执行文件(binary)当作文本文件(text)来搜索        -i:忽略大小写

-n:显示行数  

2)find用于查找文件   格式:find [查找路劲]  寻找条件 操作

小窍门:"~"代表用户的家目录   “.”代表当前目录  “/”代表跟目录

3)grep "关键字" -nr . 通过关键字搜索。

24.输入输出重定向

1)输出重定向定位符     

命令  >  文件                 将标准的输出重定位到下一个文件中(清空原文件的数据)

命令  2>  文件                 将错误的输出重定位到下一个文件中(清空原文件的数据)

命令  >>   文件              将标准的输出重定向到下一个文件中(追击在原有内容后面)

2)输入重定向

命令  <  文件                 将文件作为命令的标志输入

命令  <<  文件               从标准输入中读入,直到遇到‘分界符’才停止

命令  <  文件1 > 文件2   将文件1作为命令的标准输入并将标准输出到文件2

25.命令通配符

* :匹配零个或者多个字符                      ?:匹配任意单个字符

[0-9]:匹配范围内的数字                            [abc]:匹配已出的任意字符    

26:特殊字符扩展

\(反斜杠):转义后面单个字符                  ‘’(单引号):转义所有的字符

27.切换用户  su  [-]  用户名  备注:(1)-与用户名空格开   (2)-将环境变量改为新用户的

28.为什么某个用户设置的变量不能被其他用户使用?原因就是变量的作用范围。

export用于将局部变量提升为全局变量  格式:export 变量名[=变量值]

                                                                                             ~~未完待续。。。

 

1.远程传输命令

1)scp 用于在网络中安全地传输文件   格式为:scp [参数]  文件  远程账号@远程IP地址:远程目录

-v:显示详细连接进度               -P:指定远程主机sshd端口号

-r:传输文件夹时请加此参数    -6:使用iptv6协议

如:scp -v  build_prop.sh  [email protected]:/home/wgd

2)scp将远程主机的文件传到本地 格式:scp [参数]  远程用户@远程IP地址:远程文件 本地目录

2.clean清楚终端中已存在的命令和结果

3.hostname主机名 whoami:用户名    id:用户id

4.ps -ef 查看进行信息  e:显示全部进程 f:显示全部的列

uid:执行该进程的用户id

pid:进程id 

ppid:父进程id(拉起pid的进程)

c:cpu占有率

linux就该这么学_第1张图片

5.top 查看进程占用服务器资源

PR:优先级             VIRT:虚拟内存    %CPU:cpu占用的百分比   %MEM:内存的占用百分比

RES:常驻内存        SHR:共享内存      TIME+:执行时间   COMMAND:进程的名称或者路劲 S:进行状态(运行或者休眠)

可以通过快捷键进行排序:

1)M:按内存排序 

2)C/P:按cpu占有率排序

3)1:数字一显示各个cpu详细信息

linux就该这么学_第2张图片

6.du -sh指令,查看目录的真实大小

s(summaried):只显示汇总的大小

h:以较高可读性的形式进行形式

7.find查找文件

-name:按照文件名搜索,支持模糊搜索     -type:按照文档类型(“-/d”文件或者目录)搜索,其中“-”用f替换

linux就该这么学_第3张图片

linux就该这么学_第4张图片

8.service用于一些软件服务的启动/停止/重启  格式:service 服务么 start/stop/restart

9.kill杀掉进程,常与ps使用,格式:kill 进程id/进程名称

10.ifconfig操作网卡

11.reboot重启

12.uptime输出计算机的在线时间

13.uname获取操作系统相关信息

uname -a 获取全部系统信息(类型,主机名 ,内核版本,发布时间,开源计划)

14.netstat -tnlp查看网络连接状态

-t:表示只列出tcp协议的连接

-n:将域名转化为IP,将协议转化为端口号

-l:过滤状态为LISTEN(监听)的连接

-p:发起进程的pid和名称

linux就该这么学_第5张图片

15.man指令  查询手册

16.快捷键

ctrl+u删除光标之前内容   ctrl+k删除光标后面内容

 

 

 

 

你可能感兴趣的:(Linxu)