重点知识总结
1.为什么要学Linux命令
日常生活中我们所接触到得linux操作系统都只是一个纯黑屏得界面,对于linux系通来说图形化基本用不上,所以我们面对得只是一个黑乎乎的系统界面和一堆冷冰冰的代码,你想要操作linux就只能通过一个个的操作指令,通过这些命令来让系统运作起来。
2.Linux语法格式
3.linux终端是什么
linux系统的终端就是可以让你对系统发号施令的地方,当你打开你的linux系统进入后的那个界面就是终端的直观体现,你可以通过在上面输入各种指令来让系统执行你的命令。
4.Linux命令提示符
5.Linux命令补全之Tab
这是linux终端里非常人性化的一个指令,系统为了让你更省心,不用记忆那么多指令,当你输入Tab键后,系统可以快速列出你想要的内容,用户只需要输入一个命令开头的关键词即可,一般用来补全linux命令,以及文件路径。
6.Linux文件目录结构
因为linux系统从创建之始便只是一堆代码,到现在为止基本用的也都是黑屏界面,所以为了用户可以更方便的从系统里查找到想要查找的文件夹,linux系统的所有文件全部源自一个根目录,linux系统的所有文件全部存放在这一个大型目录下,可以通过简单的指令找到自己想要寻找的文件。
6.1linux常见目录及其作用
/bin:这个目录存放着最基本的经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/opt: 这个目录一般用来存放安装的第三方大型软件。
/root:该目录为超级用户的主目录。
/sbin: 这里存放的是系统管理员使用的系统管理程序。
/var:这个目录中存放着在不断扩充的东西,一般将那些经常被修改的目录放在这个目录下。包括各种日志文件。
6.2 绝对、相对路径理解
7.Linux简单命令操作
7.1 ls命令
命令语法
ls+空格+可选参数+空格+文件对象
常用参数
-l 以列表形式,显示文件的详细属性
-d 仅仅显示文件夹本身的信息,而非其内部的文件资料(需要查看文件夹内部文件的属性不需要添加-d指令)
-a 显示该目录中,所有的文件,包括隐藏文件
-h 显示更友好的容量单位,KB、MB、GB
实践操作
ls -l命令 以列表形式,展示文件的详细属性
ls -d命令 显示文件夹本身信息
ls -a命令 显示当前目录下所有文件,包括隐藏文件
文件名前带.的为隐藏文件
ls -h命令 显示容量单位,kb,mb,gb
7.2 cd命令
用来切换文件夹的命令
7.3 su 命令
用来切换登录用户的命令,通过该指令可以实现用户间的相互切换。
7.4 pwd命令
用来打印当前工作目录的绝对路径的命令
7.5 mkdir命令
用来创建文件夹得命令,用此命令创建的为文件夹,相当于又一个子目录。
7.6 touch命令
用来创建文件的命令,通过该指令创建的文件可以写入内容。
7.7history 命令
用来查看今天输入的操作指令历史的命令,通过该指令可以查看到今天执行命令的历史,默认上限显示1000条
可以通过history -c指令来清除历史记录。
7.8man命令
可以通过该指令来查看某个命令的详细解释。
8. Linux知识细节
不同于windows系统,linux系统中是严格区分大小写的,当你创建一个文件夹后通过改变其文件名中的任意一个字母的大小写,便可以创建一个新的文件夹,因为大小写不同,虽然名字看起来大体一样,但这却是两个不同的文件夹。所以在linux系统中不管是创建文件还是文件夹都要严格区分大小写。、
8.1 文件扩展名
linux系统中是通过权限位标识来确定文件属性的,文件拓展名对linux系统来说可有可无,但在日常创建文件的时侯最好根据文件类型来添加与之相对应的文件后缀,这个是不会更改文件属性的,只是为了自己可以在用到是方便查找。
8.2 Linux常见重要目录
/bin:这个目录存放着最基本的经常使用的命令。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/bin:系统用户使用的应用程序。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
8.3 Linux常见重要文件
/etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
/etc/resolv.conf:Linux系统DNS客户端配置文件
/etc/hostname (CentOS7) /etc/sysconfig/network:(CentOS 6)主机名配置文件
/etc/hosts:系统本地的DNS解析文件
/etc/fstab:配置开机设备自动挂载的文件
/etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
/etc/profile.d:用户登录后执行的脚本所在的目录
/etc/sysctl.conf:Linux内核参数设置文件
8.4环境变量
Linux 系统能够正常运行并且为用户提供服务,离不开背后一系列变量的协作。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录,主机名称,各种应用数据等。
8.5linux目录挂载
挂载通常是将一个存储设备挂接到一个已经存在的目录上,访问这个目录就是访问该存储设备的内容。对于Linux系统来说,一切皆文件,所有文件都放在以根目录为起点的树形目录结构中,任何硬件设备也都是文件形式,当linux系统想要访问一个U盘时,需要将系统本身的目录和U盘的目录合并,这样才能正常读取到U盘中的内容。
8.6dns劫持原理
部署自己的个人网站
-
安装 yun install nginx -y这个软件包
-
下两个软件仓库
配置阿里云的软件仓库
https://developer.aliyun.com/mirror/这里配置下载2个软件仓库 (centos和redhat系统的关系)
wget -O 指定文件存放到哪里 资源的下载链接
直接下载Centos-7.repo这个文件,到当前目录
wget https://mirrors.aliyun.com/repo/Centos-7.repo
不但下载资源,且指定到某一个路径下
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-
有了软件仓库,就可以下载相应的各种应用了
-
启动niginx应用
[root@localhost opt]# systemctl start nginx
-
应用启动,查看他的运行
命令、ps -ef |grep nginx
-
网站的运行,默认端口是 http的80端口,用自己的浏览器去访问他
-
访问时要关闭服务器的防火墙
[root@localhost opt]# iptables -F
-
程序运行了,就代表80端口启动服务
#停止他的服务 [root@localhost opt]# systemctl stop nginx 再次重新启动 systemctl restart nginx
-
也可以修改配置,做自己的网页
1、找到/usr/share/nginx/html 2、vim index.html 编辑你的这个80端口的程序 3、无需重启,网站自动更新
重定向符号
> 重定向覆盖输出符 ,数据从左边,覆盖写入到右边
< 重定向覆盖输入符,数据从右边,覆盖写入到左边
>> 重定向追加输出符, ,数据从左边,追加写入到右边
<< 重定向覆盖输入符,数据从右边,追加写入到左边
cat命令
cat 适合读取小文件,不能读取大文件,一次性将文件内容全部读取到内存中,且输出到屏幕上
cat -n 显示行号
[root@localhost linux0224]# cat -n doupo.txt
1 “斗之力,三段!”
2
3 望着测验魔石碑上面闪亮得甚至有些刺眼的五个大字,少年面无表情,唇角有着一抹自嘲,紧握的手掌,因为大力,而导致略微尖锐的指甲深深的刺进了掌心之中,带来一阵阵钻心的疼痛…
也可以一次性读取多个文件
[root@localhost opt]# cat -n doupo.txt hehe.txt hello_python.txt
cat -b 只会对有内容的行,显示其行号,空行不显示
[root@localhost linux0224]# cat -b doupo.txt
1 “斗之力,三段!”
2 望着测验魔石碑上面闪亮得甚至有些刺眼的五个大字,少年面无表情,唇角有着一抹自嘲,紧握的手掌,因为大力,而导致略微尖锐的指甲深深的刺进了掌心之中,带来一阵阵钻心的疼痛…
cat -E 在linux文件中,每一行的结束,默认会添加一个你看不到的,特殊符号'$',表示是该行的结尾
[root@localhost linux0224]# cat -E doupo.txt
“斗之力,三段!”$
$
望着测验魔石碑上面闪亮得甚至有些刺眼的五个大字,少年面无表情,唇角有着一抹自嘲,紧握的手掌,因为大力,而导致略微尖锐的指甲深深的刺进了掌心之中,带来一阵阵钻心的疼痛…$
cat 还可根据重定向符号文本内追加内容
cat >> 古诗2.txt <<EOF
你的数据在这里写。。。
EOF
EOF是一个关键字,end of file ,文件的结束
tac命令
将文件从后,向前,倒着查看
[root@localhost opt]# cat -n hehe.txt
1 yuchao
2 yejingyang
3 chenliangliang
[root@localhost opt]#
[root@localhost opt]#
[root@localhost opt]# tac hehe.txt
chenliangliang
yejingyang
yuchao
more与less命令
more和cat都是一次性读取所有内容到内存,不适合读取大文件,占资源
less命令是显示多少文本,消耗多少内存,省资源。
空格,翻篇
回车 下一行
head和tail命令
head 与 tail 默认都是10行
head -数字 查看前几行的内容
tail -数字 查看后几行的内容
tail -f
1.要求被检测的文件,存在
2.可以tail -f检测
tail -F
能够对文件进行刷新读取,即使该文件不存在,也可以检测
wc命令
统计命令
wc -l 统计总行数
wc -w 统计单词数
du命令
ls -lh 统计文件的大小
du 查看文件或目录(递归显示子目录)占用磁盘空间
du -s 只显示汇总的大小,统计文件夹的大小
[root@localhost opt]# du -s .
105072KB .
du -h 表示以高可读性的形式进行显示,如果不写-h,默认以KB的形式显示文件大小
[root@localhost /]# du -h /opt
103M /opt
find命令
find命令是递归查找 一级一级的查
模糊查找 find /(根目录) -name "(查找的东西)"
# -type f 找到文本类型的数据
# -type d 找到文件夹类型的数据
还可以找文件的大小
指令 -size + 代表超过的 -代表不超过的
举例 找出系统上超过20M的压缩包
[root@localhost ~]# find / -name "*.gz" -size +20M
/tmp/all_test1/all_test.tar.gz
[root@localhost ~]# ll -h /tmp/all_test1/all_test.tar.gz
-rw-r--r--. 1 root root 30M Mar 7 19:48 /tmp/all_test1/all_test.tar.gz
find -o 可以找出多种类型的文件
管道符
管道符,在linux中的表达符号是
| (快捷键shift + \)
管道符得标准定义
管道是一种通信机制,通常用于进程间的通信。
它表现出来的形式将==前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)==。
管道符与grep 的使用
拿到用户文件信息 | 交给grep再去过滤
[root@localhost opt]# cat /etc/passwd | grep 'yejinyang'
yejinyang:x:1001:1001::/home/yejinyang:/bin/bash
[root@localhost opt]#
[root@localhost opt]# grep 'yejinyang' /etc/passwd
检查进程
1.查看系统进程信息的命令
ps -ef # -e 显示所有的进程信息 -f 格式化显示出进程的id号,等其他信息
可以用 ps -ef | grep "应用程序" 来查看应用运行的进程
1.找出vim的进程
2.找出nginx的进程
检查端口
1.需要学习,检查系统端口的命令,这个命令,和ps -ef 一样,是查看系统某资源信息
netstat -tunlp # 这个组合参数,是查看系统上,所有的端口信息
安装 yum install net-tools -y
2. 过滤出,机器上,和ssh远程连接的端口信息,提示程序名叫ssdh,或者端口号是22
结合查看端口的命令+ 管道符+ grep,实现,高效的过滤
netstat -tunlp | grep 'nginx'
管道符与 find命令的运用
find找到文件 | 与xargs -i +想要得到的数据的相关命令
找到/etc/下,最近2天的被修改的所有⽂件,且显示详细信息(⼀条命令。)
[root@localhost log]# find /etc -type f -name "*" -mtime -3 | xargs -i ls -l {}
grep命令
grep是对数据进行过滤查找关键字
用于排除数据
grep '关键字' 文件名
grep -n 显示存在该关键字的行号 严格区分大小写
grep -i 显示无论大小写的关键字
利用grep找出nginx软件,配置文件中,定义的网站监听端口号
[root@localhost opt]# grep -n -i 'listen' /etc/nginx/nginx.conf
39: listen 80;
快速安装代码雨操作
1.下载该软件到一个固定的目录,用户自定义安装软件的目录 /usr/local/
mkdir /usr/local/my_data/
cd /usr/local/my_data/
wget http://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz
2.解压缩软件
tar -zxvf cmatrix-1.2a.tar.gz
3.安装软件
进入该软件目录,需要编译安装,编译三部曲
一曲,执行configure脚本,设定程序安装路径
[root@laoba0024 cmatrix-1.2a]# cd /usr/local/my_data/cmatrix-1.2a
[root@laoba0024 cmatrix-1.2a]# ls
acconfig.h AUTHORS cmatrix.1 cmatrix.spec config.guess config.sub configure.in INSTALL Makefile.am matrix.fnt missing mtx.pcf README TODO
aclocal.m4 ChangeLog cmatrix.c cmatrix.spec.in config.h.in configure COPYING install-sh Makefile.in matrix.psf.gz mkinstalldirs NEWS stamp-h.in
指定软件的安装路径,执行如下命令
[root@laoba0024 cmatrix-1.2a]# ./configure --prefix=/usr/local/cmatrix12/
二曲,下一步,合并到一起,三曲,下一步,执行如下命令即可,(编译成功后,且安装。)
# 注意,可能需要安装一些基础软件
# 你的系统可能是最小化安装,缺少很多软件,需要给装上,才能装其他软件(windows.经常缺少各种.dll,程序无法运行报错)
# 你只需要先安装如下的三个软件,即可
[root@laoba0024 cmatrix-1.2a]# yum list *curses*
[root@laoba0024 cmatrix-1.2a]# yum install -y ncurses-devel
[root@laoba0024 cmatrix-1.2a]# yum install gcc gcc-* -y
# 最后一步,再次安装这个代码雨
[root@laoba0024 cmatrix-1.2a]# make && make install
# 安装完毕后,再执行这条,安装代码雨的命令
# make 是编译的指令
# && 这个符号,表示并且的意思
# make install 表示安装程序
4.如何使用软件
进入软件的安装目录,查看是否有可执行的命令
每次想运行这个代码雨,必须要绝对路径,如下
[root@laoba0024 opt]#
[root@laoba0024 opt]# /usr/local/cmatrix12/bin/cmatrix
5.和PATH变量结合,快捷使用代码雨命令
可以使用PATH变量,添加这个软件的路径即可
修改PATH变量
[root@laoba0024 opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/
添加安装的软件到这该目录下,
重新定义PATH的语法如下
这种变量临时赋值,是临时生效,重新登录后,会失效的
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/:/usr/local/cmatrix12/bin/
6.永久让代码雨生效(当做屏保使用),每次用户登录,系统都会加载的一个配置文件,名字是/etc/profile
将希望每次开机,登录都生效的设置,写入到这个文件中
一、编辑改文件
vim /etc/profile
二、写入PATH的配置,进入到最底行,写入如下PATH赋值语句即可
[root@laoba0024 ~]# tail -2 /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/:/usr/local/cmatrix12/bin/
三、重新登录,查看PATH是否生效,代码雨是否可用
exit
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构