10.19
Linux下常见目录及其作用
/root root用户的主目录
/home/username存放普通用户的个人配置文件
/bin 存放linux常用的命令
/boot 存放系统启动时要用到的文件
/dev存放linux系统中使用的外部设备
/etc 存放系统管理时用到的配置文件和子目录
/sbin存放管理员的系统管理程序
/lib存放系统动态链接共享库
/lost+found系统运行异常时产生的错误,会将遗失的片断放在这里
/mnt可临时将别的外部设备挂接在此目录下
/proc存在系统内存中的信息
/usr用户的应用程序和文件都存放在这个目录下
/tmp存放临时文件的目录
linux系统启动级别;
0: 关机
1: 单用户
2: 无网络的多用户
3: 命令行模式
4: 未用
5: GUI(图形桌面 模式)
6 : 重启
git和svn的区别
GIT是分布式的,SVN不是:
GIT把内容按元数据方式存储,而SVN是按文件:
GIT分支和SVN的分支不同:
GIT没有一个全局的版本号,而SVN有:
GIT的内容完整性要优于SVN:
一,linux常用命令
1,系统级别操作命令
- 退出注销: logout
- 关闭操作
shutdown +5 5分钟后关机
shutdown 10:30 定时关闭
shutdown -r now 关机重启
shutdown -r 23:59 定时重启
shutdown -h now 立即关机
3. 重启系统:reboot
2,目录类操作
1.进入文件目录:cd / cd ../返回上级目录
2.ls 查看当前目录文件
ls -a 显示隐藏的目录或者文件 **
ls -la 显示隐藏的目录或者文件的详细信息**
3. 绝对路径和相对路径
绝对路径 :指从根路径开始,按照实际目录结构进行指定的路径
相对路径 :指当前目录开始,按照相对与当前目录的路径进行指定的路径
4.clear 清屏
5.查看当前路径: pwd
3,文档目录
1.创建一个文件夹
mkdir filename
mkdir -p file1/file2:保证多级目录创建成功
同时新建两个文件夹:mkdir test1 test2
2.删除单个文件夹
rmdir filename
rmdir只能删除空目录,目录下如果还有其他字目录,则不能删除
3.文件夹重命名
mv除了重命名还有另一个意思,剪贴一个文件夹
如果mv的第二个参数是个文件,则执行重命名的操作
移动并改名 例如:mv ky /home/hhh
如果mv的第二个参数是个路径的话,则执行剪切; 例如: mv /tmp/ky /opt 当前在home下,但是要把tmp/ky,剪切到opt
重命名 例如:mv 旧名字 新名字
4.文档操作
vi | vim编辑器
- 如果vi后边跟着的是个存在的文档,则编辑该文档
- 如果vi后面的参数对应的文件不存在,则新建文件
- vi三种模式
1) 命令行模式
该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。
在命令模式下,用户可以输入 vi 命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。
但需注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是 vi 的合法命令,vi 会响铃报警。
2) 文本输入模式
在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。
3) 末行模式
末行模式也称 ex 转义模式。
在命令模式下,用户按:键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。
- 搜索
在命令模式输入: /搜索内容
搜索替换内容: 先搜索 /5.6 替换:%s/5.6/8.0/g
- 打开后光标移动到了指定行: vi +5 1.txt
- G :在命令行输入大写的G,光标移动到文本末尾
- gg : 在命令行模式输入gg,光标移动到首行
- vi创建文件,需要给文件中添加内容才可以生成
touch
只新建文件,并不打开该文件
例如:touch filename
10.20
grep
1.通过模式对文件内容进行查找
查找 例子如下: grep mail /etc/passwd
想知道查找内容是哪一行加-n: grep -n mail /etc/passwd
2.管道操作符 |
将管道操作符左边命令的输出作为右边命令的输入 : cat /etc/passwd | grep root
ls -la | grep ^d 查看以d开头的字符串 cat /etc/passwd | grep ^r
ls -la | gerp ^[^d] 指除了以d开头之外的所有内容
3.-c 统计复合结果条件的行数
例如: grep -c "INSERT" agilenone.sql 统计agileone中insert有几行
4.-n 查看行数
例如 grep -n "INSERT" agileone.sql 在显示符合样式的那一行之前,标示出该行的列数编号。
5.-v 查看除了insert之外剩余的内容 grep -v "INSERT" agileone.sql 查看除了ls之外(-v)的行。并显示行号(-n)cat /etc/passwd | grep -v -n ls
6.区分大小写查找
列出大小写都存在的soup:grep -i soup hello
只查看大写的:grep Soup hello
7.精确查找,例如需要查找483和484这两个数字 grep "48[34]" hello
8.通配符
grep "I...DB*" agileone.sql 寻找以I开头,以DB结尾的内容,然后中间几个点,代表中间省略几个字母
grep '\" ' agileone.sql 查询内容为双引号,必须加上转义\
sort
- sort作用将文本文件的内容加以排序
- sort 4.txt 给字母排序,默认是根据ASCII码表
- sort 给数字排序由于ASCII码表,只有0-9对应,过于大的则无法排序,如果要给数字排序要加-n
- -n:按数字进行排序
例如:sort -n 2.txt
- -u:去重
但是如果数字有重复,例如多个1,需要加-n ,例如:sort -u -n 2.txt
- >> 追加重定向
- 在使用sort排序后,可使用重定向功能,重定向到一个新的文件 例如: sort -u -n 2.txt >> num
- > 覆盖重定向
- 原文件内容被覆盖
wc
- 作用:可以统计文件中的字符数、单词数以及行数
- -w 按照单词数统计
例如:统计文本hello中有多少个单词 wc -w hello
PS: 统计数量和系统版本有关系
- -l 按照行数进行统计 wc -l agileone.sql
- -m 根据字符来进行统计
cp
- 作用:拷贝文件到其他路径
- -r 递归拷贝凡是在拷贝文件路径的时候,必须加-r
- cp /home/2.txt ./ 将home中的2.txt拷贝到当前目录,使用 ./表示当前目录
rm
- r 表示递归删除
- f 强制删除,不会询问
- rm本身只是删除文件,删除路径需要添加rf
- rm -rf 1.txt 强制删除1.txt
- rm -rf / 删除系统根目录
find
- 作用:在系统中查找具有指定特征的文件或者路径
- -name 根据文件名进行查找
例如; find . -name "*.txt" 在当前目录下查找出所有以.txt结尾的文件
- -perm
例如:find . -perm 775 在当前目录下查找权限是775的所有文件
- -user 根据当前用户来,按照文件拥有者查找
- -nouser 查找没有用户的文件 find . -nouser
- -group 按照文件所属组进行查找 find . -group test3
- -type,根据类型来查找
- find . -type f f代表文件
- find . -type d d代表路径
- 不想查找用感叹号 ! find . ! -type f 不查找文件 等价于find . -type d
- -exec
- find . -name "*.txt" -exec rm -rf {} \; 最后面是分号
- find . -name "*.sql" -exec ls -la {} \; 查找文件名后缀以.sql结尾,的文件的详细信息
- {}用来存放前面find出来的结果 find . -name "*.txt" -exec cp {} /opt \;
- -ok
用法跟exec完全一致,区别在与会询问你是否执行
文档管理类;
cat
- 作用:显示文本文档的内容
- -n 显示行号
- 可以多个文件同时显示,例如:cat 1.txt agone cat -n agileone.sql test.sh
head
- 从头开始显示指定行数:head -2 1.txt
- -n 指定显示几行
tall
- 从末尾开始显示指定行数 tail -2 agone
- -n 指定显示几行
more
- 分页显示 : more +2 -3 agone 从第二行开始,每次显示三行
- + 从多少行开始
- - 每页显示行数
文档权限设置
- 说明:一个用户能看到那些文件,完全取决于,用户自身身份,和所属组
- 文件权限的种类
- r读权限
- w写权限
- x执行权限
- drwxrwxrwt
- d第一位
d:路径类型
- :文件类型
l : 软连接
- 第一个:rwx
拥有者的权限
- 第二个:rwx
文件所属组的权限
- 第三个rwx
其他人的权限
- chmod
- 一种根据数字来改变权限
r:4
w:2
x:1
- 根据角色来修改权限
u:代表文件所有者 u + r ug+r
g:文件所属组
o:其他人
a: 所有人
- chgrp
- chgrp root 1.txt 改变文件1.txt的所属组为root
- chown
- chown tom 1.txt 改变文件1.txt的所有者为tom
- -R 修改所有文件的权限(R递归) chmod -R a+rwx *.txt 给所有.txt文档赋予权限
- diff
- 比较两个文件的内容上的差异 例如: diff 1.txt 2.txt
- whereis 命令名
查找系统二进制文件的位置 例如whereis find
- which 在系统的环境变量中查找 例如 :which python
- alias
- 给命令 取别名 例如:alias la='ls -a'
- unalias la
+ : 增加对应权限
-:去掉对应权限
网络通信类;
- ping:测试网络连通性
- ifconfig 查询ip地址
- netstat :查询端口使用情况
- -ano 例如 netstat -ano | grep 3306
用户管理类;
用户的增,删,改
- 添加用户:useradd test1
- 新建用户会创建以用户名命名的组
- -g 指定该用户的主属组,一个用户永远只有一个主属组,创建的时候可以指定,也可以后期修改
- -G 指定该用户的附属组,一个用户可以有多个附属组,同时主属组也会添加到附属组
- 也可以这样写useradd -g ko -G ls Augus 注意 Augus是所添加的用户
- 添加密码passwd 例如:passwd test1
- 修改用户usermod
usermod -g test1 -G test2,test3 用户
- 删除用户 userdel
- -r 递归删除该用户所有资料和账户信息
- -f 强制删除
用户组的增,删,改
- 增加一个组:groupadd 例如添加一个组组名叫google:groupadd 组名
- 删除组:groupdel 删除组: groupdel 组名
- 修改组:groupmod
- 主要是修改组名 groupmod -n 修改后的新名字 修改前的名字
- groupmod -n lt loadtest
-n后面 lt代表的新名字
loadtest 旧的组名字
- cat /etc/group :查看系统有哪些组
查看
- id zhangsan :查看zhangsan用户的详细信息
- groups zhangsan: 查看张三组的信息
切换用户
例如:su zhangwuji
查询当前登录用户
who am i
压缩和备份;
tar.gz
解压
- tar -zxvf
- f必须是放在最后
- v代表解压的时候打印出所有的文件
压缩
-zcvf
- c代表压缩
例如: tar -zcvf hello.tar.gz shopxo.sql
注意:生成的文件后缀名必须是.tar.gz
tar -zcvf 19.tar.gz hello
- -C 指解压到指定路径
例如: tar -zxvf ls.tar.gz -C /home
.zip
zip压缩
压缩
- 安装:yum -y install zip
例如:zip /opt/liangshuang.zip lsls
生成的压缩文件名后缀必须是.zip
unzip解压
解压
需要先安装: yum -y install unzip
-d 解压到指定路径 : unzip ko.zip -d /opt
软件包管理
软件包管理简介
软件包的分类 :源码包、二进制包(RPM包、系统默认包)
安装方式:rpm命令安装、rpm -ivh 安装的包名
yum在线管理
进程管理
- 进程管理的作用
- 判断服务器健康状态
- 查看系统中所有进程
- 杀死进程
- 查看系统中所有进程: ps -aux
- 查看系统中所有进程,使用Linux标准命令格式: ps -le
- 查看系统状态:top
- 查看可用的进程信息:kill -l
- 每两秒钟监控一次:vmstat 2
- 重启进程 : kill -1 进程ID **此处为数字1
- 强制杀死进程: kill -9 进程ID