#Linux目录结构
目录解释:
/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev:dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/run:是一个临时文件系统,存储系统启动以来的信息。
/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
#Linux丨常用命令&常用命令思维导图&常用设置
https://blog.csdn.net/yuezhenpeng/article/details/128216929?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128216929-blog-128263285.pc_relevant_3mothn_strategy_and_data_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3
#VI/VIM编辑器(重点)
vim简介
vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vim键盘图
vim语法使用
vim的语法使用可参考菜鸟教程Linux vi/vim模块,里面有更多详细的介绍,链接:菜鸟教程Linux vi/vim
一:常用命令和操作
❥(^_-)三剑客
1, grep 过滤 --> 三剑客之一 --> 排行老三
#打印包含aaa的行
grep 'aaa' 111.txt
#过滤出以“bash”结尾的行 $符号为正则表达式
grep 'bash$' 111.txt
#过滤出以“root”开头的行
grep '^root' 11.txt
#过滤出包含“root”的行,不区分大小写
grep -i 'root' 11.txt
#过滤出不包含“root”的行
grep -v 'root' 11.txt
#过滤出包含'root' 或者 'sshd' 的行(egrep 为增强型grep)
grep -E 'root|sshd' 11.txt 或者 egrep 'root|sshd' 11.txt
#过滤出包含“root”的行,并显示行号
grep -n 'root' 11.txt
#过滤出人任意单个字符,并显示行号 (.表示 任意单个字符)
grep -n '.' 11.txt
#过滤出包含root的行,且打印此行下面的两行
grep 'root' -A 2
#过滤出包含root的行,且打印此行上面的两行
grep 'root' -B 2
#过滤出包含root的行,且打印此行上下的两行
grep 'root' -C 2
2, awk 取列,也支持取行-->三剑客之一 --> 老大
#指定字段分隔符,默认空行
awk -F '@' 11.txt
#NR表示行;NR==1 取第一行
awk 'NR==1' 111.txt
#打印第二列的内容
awk '{print $2}' 11.txt
#最后一列 NF;根据分隔符,打印最后一列的内容
awk {print $NF}
#根据分隔符":"截取/etc/password 第一列,第三列
awk -F ':' '{print $1,$3}' /etc/password
3, sed 替换 根据关键字等 -->三剑客之一 --> 老二
#匹配关键字替换成另一个值(可替换一个或者多个匹配到的值)--> 预演,不是真的替换,输出预演结果
#‘#’号为占位符
#s代表替换
#第一个#号后为要匹配的关键字
#第二个#号后为替换后的值
#g代表多个替换(一个文本中匹配到多个关键字,则全部替换),不加则默认替换第一个
sed 's#关键字#替换的值#g' 11.txt
##匹配关键字替换成另一个值(可替换一个或者多个匹配到的值)-->加上 -i 表示真的替换,无输出
sed -i 's#关键字#替换的值#g' 11.txt
#匹配关键字替换成另一个值,仅替换某一行(此处示例第8行)
sed -i '8s#关键字#替换的值#g' 11.txt
#高级用法
#打印某文件的某一行 == awk 'NR=2'
#sed -n 代表取消sed预演原来的默认输出,否则会输出文件的内容和需要打印的行
#2p --> {print $2} --> 打印第二行
ifconfig ech0 | sed -n '2p'
#取网卡的ip地址
#ifconfig echo 代表获取网卡列表其中某一块网卡的信息
#sed -r 表示允许通过'\'取多个小括号()中的关键字其中一个的值
#^代表以某关键字为开头
#$表示以某关键字结尾
#.表示任意单个字符
#.*表示重复前面字符0次或者多次
#\2 表示取三个小括号()中第二个的值
ifconfig echo | sed -n '2p' | sed -r 's#(^.*et)(.*)(net.*$)#\2#g'
1:查看linux系统操作日志
tail -f /var/log/message
2:查看类命令 cat,head,tail,less,more
#cat 查看文件内容
#查看并显示文件行数
cat -n 1.txt
#查看特殊字符,window上传linux有特殊字符,需要进行格式转换 dos2unix filt_name,
#如果不存在命令,yum安装一下 --》 yum install dos2unix -y
cat -A aa.txt
#head 查看文件首部前十行
#查看文件首部前5行
head -5 aa.txt
#tail 查看文件尾部内容 默认后十行
#查看后五行
tail -5 aa.txt
#追踪文件尾部
tail -f aa.txt
#less 分页查看文件内容,查看文件较大的,内容比较多的
less 1.txt
#more 百分比查看文件内容
more 1.txt
less/more 选项:
# ctrl + f 下翻页
# ctrl + b 上翻页
# q 退出
# 空格也可以下翻页
3:查找类命令 whereis /which
which 查看命令的绝对路径 ,别名等
# which cat
whereis 查找文件或者命令的绝对路径
# whereis cat 查找文件或者命令的绝对路径,二进制文件等
# whereis -b cat 查找文件或者命令的二进制文件的绝对路径。
find -->基于文件名称,大小,类型,用户,权限,时间等等查找
#find -name "new.txt"
4: 下载类命令 wget,curl,rz,sz
#wget 从互联网下载资源到本地
#下载互联网上的链接到linux
wget https://www.baidu.com/11.txt
#下载资源,并且指定路径,同时指定文件名称 --> 另存为
wget -O /usr/local/22.txt https://www.baidu.com/11.txt
#curl 获取网页上的源码信息
#下载互联网上的链接到本地,并指定路径和文件名称 --> 另存为
curl -o /usr/local/22.txt https://www.baidu.com/11.txt
#从windows上传资源到LINUX,或者从LINUX下载资源到windows
#上传文件到linux
#问题
#1,只可以是文件,不可以是文件夹
#2,不支持超过4个G的文件
#3,不支持断点续传
#4,如果的确需要上传或下载文件夹,请先压缩,再上传或者下载
rz
rz 文件的绝对路径或者相对路径
#下载文件到windows
sz
sz 文件的绝对路径或者相对路径
5:字符串处理命令sort,uniq,wc,grep,awk
#sort 排序
#对无序的文本文件进行排序
sort file.txt
#按照数字进行排序
sort -n file.txt
#按照数字逆序进行排序
sort -rn file.txt
#指定某一列进行排序,sort -t '." 指定.分隔符
sort -t "." -k4 -n file.txt
#uniq 去重
# 配合sort排序后去重
sort file.txt | uniq -c
#去重后统计去重的次数,只能统计相邻的重复的
uniq -c 11.txt
#wc 统计文件行数
#统计文件的行数,也可以统计面板输出的行数
wc -l 11.txt
#grep 过滤行级别 三剑客之一 --> 排行老三
#打印包含aaa的行,配合其他命令混用
grep 'aaa' 111.txt
#过滤出每行以“bash”结尾的行 $符号为正则表达式
grep 'bash$' 111.txt
#awk 取列,也支持取行 三剑客之一 --> 老大
#指定字段分隔符,默认空行
awk -F '@' 11.txt
#NR表示行;NR==1 取第一行
awk 'NR==1' 111.txt
#打印第二列的内容
awk '{print $2}' 11.txt
#最后一列 NF;根据分隔符,打印最后一列的内容
awk {print $NF}
#根据分隔符":"截取/etc/password 第一列,第三列
awk -F ':' '{print $1,$3}' /etc/password
6:创建目录 mkdir
#mkdir 创建目录
#递归创建目录
mkdir -p /usr/log/idc/aaa/
#递归创建并显示过程
mkdir -pv /usr/log/idc/aaa/
7:创建空白文件touch
# 创建普通空白文件
touch 11.txt
8:复制文件或者目录cp
#cp 复制文件或者目录
#递归复制,支持复制目录
cp -r /usr/local/aa/ /usr/local/aabac/
# 复制并保持文件原有属性
cp -p /usr/local/aa.txt /usr/local/aabac.txt
9:移动文件,并重新命名 mv
#mv 移动并重命名,支持目录
#移动并重命名文件
mv aa.txt aabac.txt
#移动并重命名目录
mv /usr/aa/ /usr/aabac/
10:查看历史命令 history
history
二:Linux一切皆-->文件
1,文件属性
#例句
-rw-r--r-- 1 root root 2554 Mar 10 22:32 11.txt
# 总共九列
-rw-r--r-- #第一列:权限(权限管理)
1 #第二列:硬链接数
root #第三列:文件的拥有人
root #第四列:文件的拥有组
2554 #第五列:文件的大小(单位:byte)
Mar 10 22:32 #第六七八列:文件的时间;修改的时间;
11.txt #第九列:文件名称
2,文件类型
#linux一切皆文件,文件类型的分类
# -: 普通文件(音频文件,txt文件,shell脚本文件,MP4文件)
#实际情况,大家都会遵从一定的规范来进行文件的命名
#比如:
#视频文件:xxx.mp4
#脚本文件:xxx.sh,xxx.py
#如果没有按照规范,则使用file命令进行查看是什么类型的文件
file 11.txt
# s:socket:进程间通讯; a <--> b之间通讯的协议。
# b:块设备; 硬盘,U盘
# c:字符设备; 键盘。终端都算字符设备。
# l:链接文件;通常指 软链接,快捷方式
# p:不常用
# d:目录文件
三: 遇到问题和排错
1,windows下面的回车符号和Linux里面的回车符号不通导致的问题?
#解决
dos2unix (windows 格式转换为 to unix 格式)