Linux学习-day5
学习工具
Markdown工具
typora编辑器
菜鸟教程 Markdown语法笔记 :可以查找学习
xmind 思维导图工具
可以通过思维导图,整理自己所学的知识脉络
process on在线思维导图:https://processon.com/diagrams
notepad++
这是一个用于快速写脚本的编辑器,也可以当做记事本来用,非常好用
可以让你打开,绝大多数编程语言的脚本,且美化显示。
Linux入门
打开终端,输入命令
终端就是一个可以让你操作的地方,输入linux命令的地方,你打开终端,就可以输入指令,发给操作系统。
服务器本身自带终端
ctrl + alt + f1 ~f7 组合键 对应七个终端
进入终端
Applications→Systerm Tools→Terminal
tab 命令补全:linux终端里,系统为了让你更省心,不用记忆那么多内容,可以让你输入Tab键,可以快速列出你想要的内容,你只需要输入一个命令的开头即可,它一般可以补全linux命令,以及文件路径。
如下:输入"cd Domn"后,按下"tab键",命令补全为"cd Downloads/"
图形化和命令行终端
图形化
图形化就是通过鼠标,点击桌面上的图标来实现功能,比如Windows系统,正常都是图形化的操作。
命令行终端
pwd命令,print word dir 打印当前工作路径
[root@localhost ~]# pwd
/root
mkdir make dir 创建目录的
[root@localhost Desktop]# mkdir haowanma
删除空文件夹的作用
rmdir 文件夹
企业级终端服务器是没有图形化的,只有纯黑屏的命令窗口。
远程连接
- 获取服务器的IP,通过账户密码登录;
- 使用客户端工具,xshell,securtCRT,以及其他各种工具;
- 他们的本质,都是使用ssh命令去操作的。
退出登录 exit、logout;
window下,提供的ssh指令,以及它的帮助文档
简写的语法就是 @ 就是一个占位符
- user 登录系统的账号
- @host 登录服务器的ip地址
- port 端口
[D:\~]$ ssh
NAME
ssh - connects to a host using the SSH protocol.
SYNOPSYS
ssh [-pa ][-a ][-A ][-i user_key ][-J jump_host ][user:pass@]host[ port][;host[ port]]
jump_host: [user:pass@]host[:port][,[user:pass@]host[:port]]
OPTIONS
-pa Use Password authentication. Ignore other auth parameters(-A -i).
-a Do not use Xagent for user authentication.
-A Use Xagent for user authentication.
-i user_key User key authentication.
-J jump_host Use jump host proxy.*
user Indicates the user's login name.
pass If pass is definded, use password authentication.
host Indicates the name, alias, or Internet address of the
remote host.
port Indicates a port number (address of an application).
If the port is not specified, the default ssh port
(22) is used. (远程ssh服务提供的端口)
SYNOPSYS , 写在中括号里的,参数,一般指的是可选的,可用可不用
ssh [user@]host[ port][;host[ port]]
-------
ssh远程登录指令:ssh user@host port
[D:\~]$ ssh root@10.0.0.129
Connecting to 10.0.0.129:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
/usr/bin/xauth: file /root/.Xauthority does not exist
--------
远程连接默认端口是22,当端口号是默认22情况下,登录时可以不加端口号;
出于安全考虑,也需要加端口号,否则黑客可以暴力的用简单密码库去破解,例如111/222/520/666等;
端口号范围是0-65535,数据量大,避免黑客破解;
Linux下远程登录,前提是两台机器是互通的,查看帮助信息:
登录指令是-ssh -p 22 root@192.168.0.132
[root@lamp-241 ~]# ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
[root@lamp-241 ~]#
Linux区别
严格区分大小写
windows:不区分大小写,比如你创建文件夹,输入大写,小写,windows都认为是同一个;
linux:严格区分大小写,特别系统搜索文件的时候,不能出错;
[root@lamp-241 ~]# ls
anaconda-ks.cfg happy.txt hello
[root@lamp-241 ~]#
[root@lamp-241 ~]# touch Happy.txt
[root@lamp-241 ~]# ls
anaconda-ks.cfg happy.txt Happy.txt hello
[root@lamp-241 ~]# mkdir Hello
[root@lamp-241 ~]#
[root@lamp-241 ~]# ls
anaconda-ks.cfg happy.txt Happy.txt hello Hello
rm -rf /* ---强制递归删除,这个根系统下所有文件(称为删库到入狱命令)
Linux命令返回结果解释
你要创建些什么,执行些脚本,创建文件,创建文件夹
一般是没有提示的,就是最好的提示,默认直接出结果
[root@lamp-241 ~]# mkdir hello ---这就是创建成功了一个叫"hello"的文件夹
[root@lamp-241 ~]#
[root@lamp-241 ~]#
[root@lamp-241 ~]# mkdirhello
-bash: mkdirhello: command not found ---这种提示就是bash解释器告诉你,这个指令,我没找到
和系统做交互,需要系统反馈信息的时候
[root@localhost ~]# touch heihei.txt ---创建一个名为"heihei"的txt文件
[root@localhost ~]# echo "好中意你" > heihei.txt ---写入内容为"好中意你" 可以不加位置,直接打印一段话处理
[root@localhost ~]# ls ---显示目录下所有文件
anaconda-ks.cfg heihei.txt initial-setup-ks.cfg
[root@localhost ~]# cat heihei.txt ---获取"heihei.txt"的内容
好中意你
[root@localhost ~]#
如何查看网络信息
ip addr ---打全就是ip address
关于后缀名(linux不关心文件后缀)
Windows的后缀名决定了文件属性,随意更改后缀,会导致文件属性变化,可能会不可用。
Linux不关心后缀,linux的文件属性,依靠权限位决定,和文件名无关
mkdir:创建文件夹
touch:创建文件(若是没有该文件,会创建出来,有的话会修改时间戳)
需要记忆的后缀
为了区分出文件类型,我们还是会给linux文件,添加上阅读性更好的文件扩展名字。
常见的有
-
压缩文件(打包,压缩)
- Linux 下常见的压缩文件名有 .gz、.bz2、.zip、.tar.gz、.tar.bz2、.tgz 等。
- 为什么压缩包一定要写扩展名呢?很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。
- 就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。
-
软件安装包
- 如windows下的exe文件一样作用,linux也需要安装软件,也有软件包的格式。
- 如redhat系列的RPM包,所有的RPM包都是.rpm后缀格式。
-
脚本文件
- 如shell脚本,.sh
- 如python脚本,.py
- 如java的 .java
-
网页相关的文件
- .html
- .jpg
- .js
- .css
Linux中一切皆文件
你在linux系统上,所有的 操作,都会以文件形式可以找到
-
网络的配置
-
软件的配置
-
程序的脚本
-
进程的信息
等等都可以用命令,找到和它有关的文件
[root@localhost ~]# systemctl status network ---查看网络的服务状态 ---systemctl Linux服务管理命令
● network.service - LSB: Bring up/down networking ---status 状态
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) ---network 网络
Active: active (exited) since Tue 2024-02-27 13:43:45 CST; 6h ago ---active 运行的,激活的
Docs: man:systemd-sysv-generator(8)
Process: 911 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)
Tasks: 0
Feb 27 13:43:44 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
Feb 27 13:43:45 localhost.localdomain network[911]: Bringing up loopback interface: [ OK ]
Feb 27 13:43:45 localhost.localdomain network[911]: Bringing up interface ens33: [ OK ]
Feb 27 13:43:45 localhost.localdomain systemd[1]: Started LSB: Bring up/down networking.
虚拟机想上网(三选一)
1.插网线
2.修改网卡配置文件 [root@lamp-241 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens333.启动network程序 systemctl start/stop/restart network
比如磁盘文件
linux一切皆文件
你可以系统中,找到该磁盘,操作系统通过一个文件,让你去操作这个硬盘
[root@localhost ~]# ls /dev/sd* ---查看根目录下dev文件夹里面所有以sd开头的文件信息
/dev/sda /dev/sda1 /dev/sda2
sda是第一块硬盘,硬盘在系统上以文件的形式显示
根目录:可以理解为Windows的C盘;
Windows是反斜线:E:\NEW\学习笔记
Linux是正斜线:/desktop/helloworld ---第一个反斜线是根目录起点,第二个反斜线是目录分隔符
ls /dev 查看根目录下的dev文件夹
Linux的硬盘必须挂载后才能使用
Linux系统有磁盘,分区
在linux中有一个目录,和这个分区绑定
访问这个目录,即访问了这个磁盘的数据
绝对路径与相对路径
Windows的目录都是绝对路径,绝对路径就是有个明确的起点(例如:E:\NEW\学习笔记)
Linux下的目录分隔符
### Linux的路径与命令相结合
[root@localhost ~]# ls ----list,显示当前目录下有什么文件
anaconda-ks.cfg heihei.txt initial-setup-ks.cfg
[root@localhost ~]# ls /etc ----查看/etc目录下内容
abrt crontab gdbinit.d krb5.conf.d nsswitch.conf.bak rc5.d subuid
.........
cron.monthly gdbinit krb5.conf nsswitch.conf rc4.d subgid
[root@localhost ~]# ls -l /var/log/ ----查看系统日志目录,有多少个日志文件 /var/log/,还要显示它的详细信息
total 948
drwxr-xr-x. 2 root root 204 Feb 27 13:33 anaconda
drwx------. 2 root root 23 Feb 27 13:36 audit
-rw-------. 1 root root 26254 Feb 27 13:43 boot.log
drwxr-xr-x. 2 chrony chrony 6 Apr 13 2018 chrony
............
-rw-r--r--. 1 root root 21426 Feb 27 13:38 Xorg.9.log
-rw-------. 1 root root 0 Feb 27 13:40 yum.log
[root@localhost ~]# pwd ------直接打印你当前在哪个绝对路径下
/root
cd命令
cd 切换工作目录
cd 文件路径
[root@localhost ~]# ls ----list,显示当前目录下有什么文件
anaconda-ks.cfg heihei.txt initial-setup-ks.cfg
[root@localhost ~]# ls . ----显示当前目录下有什么文件
anaconda-ks.cfg heihei.txt initial-setup-ks.cfg
[root@localhost ~]# ls .. ----显示上一级目录下有什么文件
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
绝对路径与相对路径
linux命令+ 以根开始的路径,叫做绝对路径;绝对路径以根目录"/"开头,一直到某个文件
linux 命令 + 非根目录开始的路径,叫做相对路径;相对路径是以当前所在位置,为相对
有"你好"与"hello"两个文件夹,在"hello"文件夹位置下,如何在"你好"文件夹中创建个txt文件?
直接路径写法:先到上一级目录,然后向"你好"文件夹中写入:
[root@localhost hello]# cd ..
[root@localhost ~]# touch nihao/nice.txt
-------
相对路径写法:直接一条指令,不在单独返回上一级目录
[root@localhost hello]# touch ../nihao/you.txt
-------
相对路径:在"hello"文件夹位置下,如何在"你好"文件夹中"you.txt"文件写入"好想你"并直接显示?
[root@localhost hello]# echo "好想你" > ../nihao/you.txt
[root@localhost hello]# cat ../nihao/you.txt
好想你
[root@localhost hello]# echo "好开心" > ../nihao/you.txt ---- > 是覆盖写入
[root@localhost hello]# cat ../nihao/you.txt
好开心
[root@localhost hello]# echo "晚上吃啥呢" >> ../nihao/you.txt ---- >> 是追加写入
[root@localhost hello]# cat ../nihao/you.txt
好开心
晚上吃啥呢
[root@localhost hello]#
----
[root@localhost ~]# rmdir /root/hello ----rmdir 删除空的文件夹
rmdir: failed to remove ‘/root/hello’: Directory not empty
Linux命令语法
同一个命令,跟上不同的参数执行不同的功能
ls -l 显示详细信息
ls --help 查看ls的参数有哪些,以及作用
ls -lh 查看日志文件的详细信息,与大小
关于命令提示符(修改命令提示符)
切换用户显示 su
修改主机名称
退出用户登录 logout
hostnamectl set-hostname 主机名
变量
path变量
修改path变量
1. 查看PATH的值
[root@linux0224 ~]# echo ${PATH}
/usr/local/mysql/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2.给PATH重新赋值即可
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin
3.但是发现了ls这样的命令
没办法,简写去用了,你只能手动的补全它的绝对路径,才行
4.修复PATH变量,加入ls的那个目录
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端