Linux 笔记

常见一级目录的作用:

/ 根目录
/bin 存放必要的命令

/sbin 存放系统管理程序 

/boot 存放内核以及启动所需的文件等 

/dev 存放设备文件
/etc 存放系统的配置文件
/home 用户文件的主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/tmp 存放临时文件的目录
/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var 包含系统产生的经常变化的文件

 

常用命令:

1. ls

  -l : 查看详细信息, 权限

  -h :  大小显示成M或者K。

  -d:只显示目录 。ls -d /etc

  -t: 按时间排序,倒叙排序

2. mkdir

  -p : 递归建目录

3. cp

  -a : 保持文件和复制的文件属性一模一样

4. locate: 文件搜索命令。比find快。locate test.txt, 只能通过文件名搜索。

5. whereis: 搜索系统命令所在位置。 whereis ls

6. which: 与whereis命令很相似,他也可以查看系统命令的别名。

7. find: 文件搜索命令。 find [搜索范围] [搜索条件]

find /root -name install.log

find /root -name "install.log*" # *代表任意字符

find /root -iname install.log # 不区分大小写

find /root -nouser # 查找没有所有者的文件 

# -10 -> 10天内修改文件
# 10  -> 第10天当天修改的文件
# +10 -> 10天前修改的文件
# atime -> 文件访问时间
# ctime -> 改变文件属性的时间
# mtime -> 修改文件时间
find /var/log -mtime +10 #查找10天前修改的文件

find . -size 25k # 查找文件大小是25k的文件, -25k是小于25K的文件,+25k是大于25K的文件 ,当然也可以查找M,G
find . -inum 12345 # 查找inode节点为12345的文件
find /etc -size +20k -a -size -50k # -a 代表and
find /etc -size +20k -o -size -50k # -o 代表 or
find /etc -size +20k -o -size -50k -exec ls -lh {} \; # -exec {} \; 这三个为固定的使用形式,表示将前面find的结果在执行ls -lh命令。

8. grep: 字符串搜索命令

grep "size" install.log #在install.log文件中查找包含size的行

grep -v "size" install.log #在install.log文件中查找不包含size的行

9.zip/tar: 压缩解压缩命令。

zip test.zip test # zip 压缩文件名 源文件

zip -r test.zip test # zip -r 压缩文件名 源目录名

unzip test.zip # unzip 压缩文件

tar -cvf test.tar test # tar -cvf 打包文件名 源文件

tar -xvf test.tar # tar -xvf 解压缩

 10. set: 查询linux系统下所有的变量,包括环境变量和自定义的变量。还有个命令叫env,这个只会查询环境变量

  set -u: 执行这句话之后,调用未声明的变量会报错。

11. unset: 删除变量。 unset 变量名

12. ps: ps aux 或者ps -le  查看所有运行的进程

13. top:查看系统健康状态

14. kill -1 1234 ,平滑重启。 kill -9 1234, 强制终止。killall -9 httpd,

 

通过RPM安装的服务一般配置在:

/etc/init.d/:启动脚本位置

/etc/sysconfig: 初始化环境配置文件位置

/etc:配置文件位置

service httpd status

service httpd start/stop/status/restart

 

Shell:

linux命令解释器。

vi hello.sh

#!/bin/bash

#First Program

echo -e "this is a test. \n hahaa" # -e 会将\n输出


chmod +x hello.sh

./hello.sh

输入输出重定向:

/dev/stdin: 0 标准输入

/dev/stdout: 1 标准输出

/dev/stderr: 2 标准错误输出

命令 > 文件: 覆盖形式,文件不存在则创建

命令 >> 文件: 追加形式

错误命令 2>文件:覆盖形式

错误命令 2>>文件: 追加形式

命令 > 文件 2>&1: 已覆盖形式,把正确输出和错误输出都保存到一个文件中。

命令 >> 文件 2>&1: 以追加的方式,把正确输出和错误输出都保存到一个文件中。

命令 &>文件: 已覆盖形式,把正确输出和错误输出都保存到一个文件中。

命令 &>>文件: 以追加形式,把正确输出和错误输出都保存到一个文件中。

命令 >> 文件1 2>>文件2: 正确输出到文件1,错误输出文件2.

ls &>/dev/null : 垃圾站

 

管道符:

1.多命令顺序执行:

1) 命令1 ; 命令2 -> 表示多个命令顺序执行,命令之间没有任何逻辑联系

2) 命令1 && 命令2 -> 命令1正确执行才会执行2,命令1执行不正确,命令2不会执行

3) 命令1 || 命令2 -> 命令1执行不正确的时候才会执行命令2

ls && echo yes || echo no

2.管道符: 

命令1 | 命令2:命令1的正确输出结果作为命令2的输入对象

netstat -an | grep ESTABLISHED

 

通配符:

1) ? ->匹配一个字符

2)* -> 匹配0个或多个任意字符,也就是可以匹配任何内容

3) [] -> 匹配中括号中的任意一个字符

4)[-] -> -代表一个范围。

5)[^] -> 表示不匹配括号中的任意一个字符

ls test*

 

bash中的其他特殊符号:

单引号: 单引号中的所有特殊字符都没有特殊含义,原样输出,比如 $ 和 `

双引号:双引号中的特殊符号都没有特殊含义,但是 $ , ` , \ 除外

反引号: 反引号括起来的是系统命令,在Bash中会先执行它,和$()命令一样,不过推荐使用$()

$(): 作用和反引号一样。

#: 代表组注释

$: 代表调用变量的值. $name , ${name}

\: 转义符

 

Shell变量:

Bash中,变量的默认类型都是字符串类型。

1. 定义变量:变量名=变量值。等号左右两侧不能加空格,切记

eg:

x="$x"456 #变量叠加

x=${x}456 #变量叠加

2. 设置环境变量:export 变量名=变量值

3. 位置参数变量

$0代表命令本神,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,比如${10}. eg: ./test.sh 1 2

$*代表所有的参数,将他们看为一个整体

$@也代表所有的参数,不过将他们区分对待

$#代表命令行中参数的个数

4.预定义变量:

$?代表上一条命令的返回值,正确执行的上一条命令返回值为0,不正确的返回非0

$$表示当前进程的PID

 

环境变量配置文件:

1. source 配置文件或者 .  配置文件

使用source可以不用重新登录。

2. 配置文件:

/etc/profile

/etc/profile.d/*.sh

~/.bash_profile

~/.bahsrc

/etc/bahsrc

 

 

 

正则表达式和通配符: 通配符用来匹配文件名,正则表达式用来匹配文本。

grep "a\{3\}u" a.txt

字符截取命令:

1. cut: -f 表示第几列,从1开始, -d代表分隔符,默认分割符为制表符。

grep "^user*" a.txt | cut -f 1 -d ":"

2. printf: 格式化输出命令

3. awk

4. sed: 字符替换命令。

sed '2,4d' a.txt #表示删除a.txt中第二行到第四行之间的数据,行数是从1开始。这个只是临时修改,并没有改变原文件。

sed '2c haa' a.txt # 表示将a.txt中的第二行替换为haa

sed '2s/70/100/g' a.txt # 表示将a.txt中第二行中的70替换为100

sed -i 's/70/100/g' a.txt # 表示将a.txt中所有的70替换为100,并将修改结果写回a.txt

 

Linux权限:

文件基本权限的修改:-rw-r--r--   u -g -o

chmod [选项] 模式 文件名

chmod u+x a.sh #给a.sh的所有者赋予执行权限

chmod g+w,o+w b.sh 

chmod u=rwx,g=rw a.sh

chmod a=rwx a.sh

chmod 755 a.sh #7-rwx-u,5-rw-g

权限的作用:

1)对于文件:

r: 读取文件内容(cat more head tail)

w:编辑,新增,修改(vi echo), 但是不包含删除文件。

x: 可以执行文件(./s.sh)

对文件来说,最高权限为x

2)对于目录:

r: 可以查寻目录下的文件名(ls) 

w: 具有修改目录结构的权限。比如新建文件和目录,删除此目录下的文件(touch rm mv cp)

x: 可以进去此目录(cd)

对于目录来说,最高权限为w

 

chown root:root a.txt

 

 

posted @ 2017-05-21 00:30  一片叶子啊  阅读(169)  评论(0编辑  收藏  举报