# Linux
## 基础知识
### 操作系统
* 作为中间人,连接软件和硬件
### Linux
* 特点
* 免费+安全
### 查看日志,定位bug,修改文件,搭建环境
## 安装
### 装虚拟机 vmware fusion
* 用镜像装 red hat linux
* 注意:我安装的时候用 3 个 ios 安装的,他让插入第二张光盘的时候:虚拟机-CD/DVD-选中第二个 iOS -连接CD/DVD
## 搭建环境的命令
### cd
* [root@localhost root] #cd /root /1/1/ 绝对路径一定要从根目录开始
* 1 cd / 进入系统根目录
2 cd .. 返回上一层父目录
3 cd ../..//../// 返回上 N 层父目录
4 cd or cd ~ 进入当前用户主目录
5 cd /user/local/soft 会进入 user/local/soft 目录下
6 cd - 进入此目录之前的目录
7 cd !$ 使用上次使用的路径
### ls
* ls -l
* drwxr-x---
* 第一个数字:d 表示目录 - 是文件
* 剩下的分成 3组,是三种身份的权限,第一组 rwx:文件所有者的权限:可读可写可执行;第二组 r-x: 文件所属组的权限;第三组 ---: 其他用户对文件的权限
* *******1 ls -lh 以易读方式列出文件*******
2 ls 不带任何选项列出文件
3 ls -l 列出文件详细信息(是目录 or 文件、大小、修改日期、时间、文件或者目录的名字以及文件的属主和他的权限)
4 ls -a 列出所有文件包括以 ‘.’ 开头的隐藏文件
5 ls -F 在每个目录的末尾添加 ‘/’字符显示
6 ls a* * 代表任意个任意字符
这条语句出来可以查找到 a a11 a111 不能找到 1a
7 ls /home 查看其他目录的内容
### mkdir(创建目录)
* 1 mkdir 不带任何参数运行 mkdir 命令会在当前目录下创建目录(条件:想要创建目录的目标路径下必须具有访问权限)
2 mkdir ubuntu redhat slackware
同时创建多个目录
3 mkdir -p letter/important 创造多级目录
4 mkdir -m=r-- letter
上面的命令会创建一个名为 letter的目录,同时为目录所有者、用户组和其他用户针对该目录赋予只读权限
5 mkdir -v ubuntu redhat slackware 创建目录并且查看信息
### touch(创建文件)
* 1 touch devops.txt 创建一个空文件
2 touch sysadm-{1..20}.txt
创建一个 sysadm-1.txt 到 sysadm-20.txt 的空文件
3 touch -a devops.txt
stat devops.txt
改变/更新文件和目录的访问时间,并用 stat devops.txt 查看时间是否更新
4 touch -m /mnt/nfsshare/
stat /mnt/nfsshare/
用 touch -m 更改文件和目录的修改时间,并用 stat 命令来验证修改时间是否改变
5 touch -c -t 202510191820 devops.txt
stat devops.txt
将 devops.txt 文件的访问和修改时间设置为未来的一个时间(2025年10月 19日18时20分)
使用 stat 命令查看更新访问和修改时间
### rm
* *******rm -rf 超级强制删除,会将目录及子目录中所有档案删除,并且不用一一确定*******
rm 文件 删除文件
rm -r 删除目录并把它下面的文件也删除
rm -f 让此次操作强制执行,忽略错误提示
rm -v 显示当前操作完成时的详细情况
### 常用命令
* clear:清屏
* tab 两次: 列出所有以此开头的命令
* control+c:结束某个命令
* ls --help :ls 的帮助文档
* ls man: ls 的帮助文档
* cp 复制: cp 1.txt a: 把 1.txt 这个文件复制到 a 这个路径下面
* cp 1.txt 2 拷贝文件1.txt 到 2
* cp abc abc-abk -r 拷贝文件夹要加上 -r
* mv 剪切: 移动、重命名
* pwd:查看当前所在文件夹
* tar
* 解包:tar -xzvf 解包解压的文件名
* 打包:tar -czvf 新文件名.tar.gz 文件1 文件2 ... 目录1 目录2...
* ll:以列表的形式显示目录下的所有文件和目录
* ls: 显示当前目录或指定目录下的文件和目录,和 ll 用法差不多,只是 ll 显示更加详细
* chmod:改变文件或目录的权限,针对有些文件,需要给用户增加执行权限 eg: chmod 777 文件或者目录
* 4.2.1 表示 r w x
* top:查看 linux 系统健康状况
* ps:经常用于查询某个进程是否存在
* netstat:查询进程端口号
* netstat -tunlp lgrep 9990 --查询端口号为 9990 使用情况
* netstat -a 列出所有端口
### vi: 这个模式可以用来修改文件
* 按下 vi 进入一般模式
* 按下 i 进入编辑模式:可以发现左下角会出现插入的画面
* 按下 ESC 回到一般模式
* 输入 :wq 就可以保存并且退出 vi 模式
*
### 命令
## 查看日志的命令:主要用于定位 bug ,或者看程序执行情况
### less
* less 日志文件名
* 空格:向下翻页 ; enter 键:换行 ; q 或者 Q 退出 ;查找指定字符串: 先输入 /,然后在 / 后面输入要查找的指定字符串,回车
### cat
* 查看比较少文件
### tail
* tail 命令的意义是显示文件最后几行,默认显示十行
* tail -400f XX.log :显示日志文件新增的内容
### ******注意******
* 查看日志的时候乱码处理办法
* 输入 vi /etc/sysconfig/i18n 进入文件按住 i 进入编辑模式,把语言改成 LANG="zh_CN.UTF-8" 按 esc ,按住 :wq 保存退出
### 搜索文件,目的是为了定位 bug
* grep '需要查找的字符' test.log :在日志 test.log 中查找字符
* grep '需要查找的字符' test.log | wc -l :在日志 test.log 中查找字符,并且显示出来
*XMind: ZEN - Trial Version*