linux02
一、Linux目录和文件管理
1、ls
- 显示指定目录下的资源信息 ls 指定的目标文件
- 不指定是显示当前目录下的资源信息
- 常用选项参数
- -a :显示全部资源
- -A:显示全部资源
- -l: 显示详细信息
- -t :根据时间排序
- 常用组合 -al
2、cd
- 变换工作目录 切换到指定的目录下
- cd 指定的目录名称
- 练习:
- 1、进入根目录下的etc目录,用绝对路径的表示方法是:cd etc
- 2、当前在etc目录下,转到home目录下,用相对路径表示是:cd /home
- 3、回到自己的属主目录:cd /root
3、pwd
- 查看当前工作目录
- pwd
4、mkdir
- 新建目录
- mkdir 路径/目录名称
- 常用参数
- -p 当所建目录的父目录不存在时,直接创建一个父目录
- 练习:
- 1、home目录下建立一个叫test的目录: mkdir /home/test
- 2、如果要同时建立多个目录test1,test2,test3:mkdir test1 test2 test3
- 3、在自己名字缩写的目录下建立一个叫test4的目录:mkdir /home/wsy/test4
5、touch
- 用于创建空的文件
- touch 文件名称
- 练习:
- 1、在test目录下建立一个叫testFile的文件:cd /home/test touch testFile
- 2、在test4目录下建立testFile4_1和testFile4_2文件:cd …/ cd wsy/test4 touch testFile4_1 testFile4_2
6、rmdir
- 删除空目录 (目录必须是空目录才可以删除)
- rmdir 路径 目录名称
- 练习:
- 1、删掉前面创建的test目录:rmdir test
- 2、删除之前创建的test1,test2,test3这三个目录:rmdir test1 test2 test3
7、rm
- 进行文件的删除操作
- rm 文件名字
- 常用参数
- -f 强制删除的,文件不存在也不会提示
- -r 递归删除 用于进行目录的删除行为
- 练习:
- 1、删掉之前创建的testFile文件:rm -r test/testFile
- 2、使用选项参数 -f 删除testFile4_1文件:rm -f testFile4_1
- 3、删除test4目录以及目录中的文件:rm -f testFile4_2 rmdir test4
8、mv
- 进行文件或目录的移动操作,也具文件或者目录重命名的功能
- mv 来源文件或目录 目标路径
- mv 来源文件或目录 新的名称
- 练习:
- 1、将当前目录下的test目录移动到test1目录下去:mv test test1
- 2、将mytest.txt文件名称改为mytest1.txt:mv mytest.txt mytest1.txt
9、cp
- 进行文件的复制操作
- cp 来源文件 目标文件
- 常用参数
- -r 递归处理 将指定的目录下的文件和子目录一并处理
- 练习:
- 1、将mytest1.txt文件复制到test目录下:cp mytest1.txt /home/test
- 2、将test目录及目录下所有文件复制到test1目录中:cp test /home/test1
10、ln
- 创建文件的连接文件
- ln 来源文件 目标文件
- 常用参数
- -s 创建软连接文件,不使用则会直接创建硬链接文件
- -f 如果目标文件存在 会直接强行覆盖
- 软链接:以路径的形式存在。类似于Windows操作系统中的快捷方式
- 硬链接: 以文件副本的形式存在。类似于复制,不允许给目录创建硬链接。
- 练习
- 1、当前路径创建/home/test1/test目录的软连接 soft_mytest1
- ln -s test1/test soft_mytest1
- 2、当前路径创建/home/test1/test/mytest1.txt文件的硬链接 hard_mytest1
- ln test1/mytest1.txt hard_mytest1
- 1、当前路径创建/home/test1/test目录的软连接 soft_mytest1
11、练习
-
1、root目录下面,创建abc、姓氏小写全拼(wsy)、test三个目录
- mkdir abc wsy test
- mkdir abc wsy test
-
2、root目录下面创建文本文件xyz.txt
- touch xyz.txt
-
3、将xyz.txt文件复制到(wsy)目录下
- cp xyz.txt wsy
-
4、将(wsy)目录移动到home下的test1目录下
-
5、在root下创建/home/test1/wsy的软链接文件是s1
- ln -s /home/test1/wsy s1
- ln -s /home/test1/wsy s1
-
6、在/root/test目录中创建/home/test1/wsy/xyz.txt的硬链接文件h1
-
7、将h1改名为h2
- mv h1 h2
二、Linux文件搜索命令
**:代表任意多个字符,如 “ .txt ”表示:所有扩展名为txt的文件
? :代表任意单个字符,如 “ a?.txt ”表示:文件名为两个字符,以a开头,扩展名为txt的文件
[] :代表集合中的某一个字符,如" [abc].txt ”表示:以a或b或c为文件名,扩展名为txt的文件
1、find
- find 命令用来在指定目录下查找文件
- 语法 find 路径 -name 文件名
- 语法 find -name 文件名
- 如果不设置路径参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
2、which
- 根据名称对文件进行查询,常用可执行文件
- 语法 which 文件名称
3、whereis
- 搜索特定文件
- 语法 whereis 文件名称
- 常用参数
- -b 只查找二进制文件
- -m 只查找手册页
- -s 只搜索源代码文件
4、locate(yum -y install mlocate)
- 只需要指定部分文件的名称,就可以完成文件的搜索
- locate 关键字
- -i 忽略大小写
- 注意
- 需要管理员进行对数据库的更新
- locate是模糊查询,查找的东西会比较多
5、find区别locate
- locate 查找的更快,locate在数据库中查找信息
- find 查找的比较慢,是在硬盘中查找文件
- find的命令更可靠
- locate 需要查数据库中的数据,数据库需要更新,需要获取权限才可以查到
三、linux文件编辑器
1、vi基本的文本编辑器
-
是最常用的文本编辑器
-
是类unix系统的内建文本编辑器,类似于没有GUI界面的windows记事本
-
语法 :
-
vi 文件名称(文件不存在是会自动创建文件)
-
当 直接 vi 不加文件名 在最后文件退出的过程中需要加上
-
-
例如 vi test.txt
2、三种模式
1、命令模式
-
刚进入文本编辑器就是命令模式
-
命令模式进入插入模式 i a o
-
命令模式进入底行模式 :
-
移动光标的方法
- h 或者左箭头 (光标向左移动一个字符)
- L或者右箭头 (光标向右移动一个字符)
- j或者下箭头(光标向下移动一个字符)
- k或者上箭头(光标向上移动一个字符)
- ctrl +f (pagedown) 下一页
- ctrl + b(pageup) 上一页
- 0 或者home 回到当前行的第一个字符
- $ 或者end 回到当前行的最后一个字符
- G回到最后一行
- gg 回到第一行
- n +enter 向下移动n行
-
搜索替换
- /word 向光标之下寻找第一个word的字符串
- ?word 向光标之上寻找第一个word的字符串
-
删除
- x 删除后一个 字符
- X删除前一个字符
- dd 删除游标所在的那一行
- ndd 删除当前光标向下的n行
-
复制
- yy 复制光标所在的那一行
- dyy 同删除一样 复制光标所在的行向下n行
-
粘贴
- p 将已经复制的数据在光标的下一行贴
- P将已经复制的数据贴光标的上一行
-
操作
- u 复原前一个动作
- ctrl +r 重做上一个动作
- . 小数点,重复前一个动作
2、插入模式
- 在命令模式下,不可以修改某个字符的,只能到插入模式
- 从命令模式进入插入模式,只需按键i,I,a,A,o,O,r,R
- 进入插入模式,会在屏幕的最下一行出现“INSERT”或“REPLACE”字样
- 退出插入模式按ESC
3、底行模式
- w 保存
- wq 保存并退出
- q (不改变数据可以直接退出)
- q! 修改过文件,但是不想保存,可直接强制退出
- w! 当为只读时,强制写入改文件
- set nu 显示行号
- set nonu 不显示行号
四、Linux文件查看
1、cat/tac
- cat
- 由第一行开始显示文件内容
- tac
- 由最后一行显示文件内容
- 语法 cat/tac 路径/文件
- 参数
- -n 连行号一起显示在屏幕上
- -b 连行号一起显示在屏幕上 空行除外
- -t 连特殊字符一起显示在屏幕上
2、more/less
- more
- 用于分页的方式,查看内容较多的文件
- 几个简单的重要按键
- 空格 space 向下翻一页
- enter 向下翻一行
- b 或ctrl b 向上翻一页
- less
- 用于分页的方式,比more更加丰富
- 几个按键
- pageup 向上翻一页
- pagedown 向下翻一页
- q 退出
- 语法 more/less 路径/文件
3、head/tail
- 以“行”为单位,对文件的位置进行截取
- head 取头 ,tail取尾
- head /tail -n number 文件名称
- 默认显示前十行
- -f 侦测文件结尾是否会有新的内容
4、Linux管道符号和撷取命令
- 管道符号
- | 连接多个命令
- 命令一|命令2
- 第一个命令的输出是第二个命令的输入
- 撷取命令
- grep 命令用于查找信息中符合条件的字符串,如果符合将整条显示
- grep 不能单独使用,一般跟管道符号一起使用
- 命令1|grep “过滤信息”
- 常用的选项参数
- -i 忽略大小写
- -v 进行反向筛选
- -c 统计包含信息的行数
- 练习:
- 1、查询出/etc/profile文件中带有“2”的行
- more /etc/profile | grep “2”
- 2、查询出/etc/profile文件中不带有“2”的行
- more /etc/profile | grep -v “2”
- 3、统计/etc/profile文件中带有“2”的行数
- more /etc/profile | grep -c “2”
- 1、查询出/etc/profile文件中带有“2”的行
5、习题
- 显示 /etc/man_db.conf文件的第11行到第20行,并且显示正确的行号
- cat -n /etc/man_db.conf | head -n 20|tail
*
- cat -n /etc/man_db.conf | head -n 20|tail
五、修改权限的命令
1、 chmod
- 修改文件或目录的权限
- read读 write写 execute执行 三种权限
- 1.数字类型
- r=4 ,w=2 , x=1
- 7 7 7 代表 rwxrwxrwx
- eg:rwxr-xr-x 755 -> -wx-w-rw- 326
- chmod 326
- 2.符号类型
- owner =u group = g others = o all = a +(增加) -(减少)
- u代表前三位 g代表中间三位 o代表后三位
- eg: -wx-w-rw- -> rwxr-xr-x
- chmod u+r,g+r-w+x,o-w+x
- 1.数字类型
六、文件的打包和压缩
1、tar
-
打包工具
-
打包和压缩两者不相同。
-
打包的目的是为了方便归档、管理,
-
压缩的目的是为了减少磁盘空间的消耗
-
-
tar 打包名 需要打包的文件
-
常用的参数
- -c 创建一个包
- -t 查看包中的文件
- -x 解开一个包 (-C )后面加解开的地址
- -v 打包过程中显示被打包的文件
- -f 需要打包的内容为文件
- -j 压缩成 .bz2文件
- -z 压缩成 .tgz文件
-
创建包 tar -cvf 打包名.tar 目标文件
-
查看包里面的内容 tar -tvf 包名.tar
-
解包 tar -xvf 包名.tar -C 解压路径
2、tar 压缩 .bz2
- 创建压缩包 tar -cjvf 打包名.bz2 需要被打包的列表
- 查看文件 tar -tjcf 包名.bz2
- 解压缩包 tar -xjvf 包名.bz2 -C 解压路径
3、tar压缩包.tgz
- 创建压缩包 tar -czvf bao.tgz 需要打包的文件
- 查看包中的内容 tar -tzvf bao.tgz
- 解压缩包 tar -xzvf bao.tgz -C 解压路径
4、zip压缩工具
- zip 一个或多个文件压缩为一个压缩包 后缀为 .zip
- zip 压缩名 文件
- 查看语法 unzip -v 压缩名
- 解压语法 unzip 压缩名(进入被解压的目录)
七、进程管理
1、后台管理
-
1.& 让当前工作放到后台运行
-
command &
-
vi &
-
返回:[工作号] 进程号
-
-
2.jobs 查询所以后台的任务
- jobs
-
3.fg 移动后台的任务到前台来
- fg [%number]
- %number 表示任务编号
-
4.ctrl + z 暂停某工作
2、查看进程
- 1.ps 查看系统在某个时间点的程序运行情况
- -aux 显示所以包含其他使用者的进程
- -e 列出所有的进程
- -f 显示进程完整的信息
- 通常参数有-aux和-ef两种用法,用途都是查看所有进程的详细信息
- -aux多了cpu和内存占用等信息
- 通常一个操作系统中同时运行的进程很多,当我们要查看指定的进程时,需要配合管道符号 | 和grep对 进程信息进行过滤
- 2.top 动态监控进程所占系统的资源
- 动态查看系统中的程序运行情况及系统资源使用情况
- -p 查看单个进程 top -p PID
- load average 平均负载
3、结束进程
- 1.kill 停止或杀死进程,可以通过进程号pid或者任务编号来指定要操作的对象
- kill -9 PID或者任务号
- -| 列出所有的信号名称
- 只有第9种信号(SIGKILL)才可以无条件中止进程,其他信号进程都有权利忽略。
4、查看进程端口号
- 1.netstat 用于监控系统的网络端口使用情况
- netstat
- -lnp 用于显示当前系统启动了那些duank
- -an 用于显示网络连接状况
- -t 显示tcp协议相关信息
- -u 显示udp协议相关信息
- netstat -tunlp | grep 端口号 用于查看端口号
- vmstat
- 用于观察系统资源的使用情况
- vmstat 时间间隔 次数
- 相比top,可以显示整个机器的CPU,内存,IO的使用情况,
- 而不是单单看到各个进程的CPU使用率和内存使用率
八、网络管理
1、ifconfig
- 用于查看和配置网卡信息
- 如果是最小化安装的linux,需要先安装net-tools: yum install net-tools
- 配置网络很少用ifconfig
- 而是用vi或vim修改类似: /etc/sysconfig/network-scripts/ifcfg-ens33 的文件。
- 如果想把ip地址改为固定地址:可以修改vi /etc/sysconfig/network-scripts/ifcfg-ens33这个文件,将dhcp改为static,IPADDR=刚刚查到的IP地址
2、ping
- 用于测试与目标主机的连通性
- ping 目标主机地址
- ctrl + c 强行停止
3、wget
- wget:用于下载网络资源
- wget 网络资源地址
- tomcat 安装时 需要wget 从网上复制链接 下载
九、软件管理
1、基本概念
-
由程序开发者直接在已知的系统上面编译好用户需要的软件,
-
然后将这个编译好的可执行的软件直接发布给用户来安装。
-
通过软件管理器可以实现程序的安装、卸载、升级、验证等相关功能
-
Linux操作系统常见的两大主流软件管理器:RPM和DPKG
-
我们这里使用的是CentOS系统,
-
使用的软件管理机制为RPM,使用的命令是rpm,
-
在线升级方式为YUM,使用命令为yum。
2、RPM管理软件
- Red Package Manager
- 以一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套软件管理机制。
- 但是由于软件存在属性依赖问题(有些软件具有相关性,如果该软件安装后,找不到他相关依赖软件,安装好的软件也无法使用),
- 所以在安装过程中,RPM会去检验一下是数据库中是否已经存在相关的软件,如果数据库显示不存在,那么这个RPM文件【默认】就不能安装。
- 常用选项和参数
- -i 安装的意思
- -v可视化
- -h 显示安装的进度
- 安装 rpm -ivh 软件包.rpm
- 升级 rpm -Uvh 软件包.rpm
- 查询所以已经安装的软件 rpm qa
- 查询某个 rpm qa|grep 软件名
- 卸载 rpm -e
3、yum管理软件
- YUM机制用来解决RPM属性依赖问题。
- 通过YUM机制可以一口气安装所有需要的具有依赖属性的软件。
- rpm用于查询检验,使用rpm命令的查询功能,可以很容易的知道某个系统有没有安装你要安装的软件,如果没有安装可以直接使用yum进行安装
- 使用yum命令,能够自动从程序库中获取相应安装包和依赖包
- 列出所有可用的rpm包 yum list
- 搜索一个rpm 包 yum list|grep 包名
- 显示信息 yum info 软件名称
- 安装 yum install -y 包名
- 升级 yum update -y rpm包名
下是数据库中是否已经存在相关的软件,如果数据库显示不存在,那么这个RPM文件【默认】就不能安装。 - 常用选项和参数
- -i 安装的意思
- -v可视化
- -h 显示安装的进度
- 安装 rpm -ivh 软件包.rpm
- 升级 rpm -Uvh 软件包.rpm
- 查询所以已经安装的软件 rpm qa
- 查询某个 rpm qa|grep 软件名
- 卸载 rpm -e
3、yum管理软件
- YUM机制用来解决RPM属性依赖问题。
- 通过YUM机制可以一口气安装所有需要的具有依赖属性的软件。
- rpm用于查询检验,使用rpm命令的查询功能,可以很容易的知道某个系统有没有安装你要安装的软件,如果没有安装可以直接使用yum进行安装
- 使用yum命令,能够自动从程序库中获取相应安装包和依赖包
- 列出所有可用的rpm包 yum list
- 搜索一个rpm 包 yum list|grep 包名
- 显示信息 yum info 软件名称
- 安装 yum install -y 包名
- 升级 yum update -y rpm包名
- 卸载 yum remove -y rpm包名