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命令去操作的。

退出登录 exitlogout

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-ens33

3.启动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"

Linux软件安装到哪

posted on 2024-02-27 23:55  day_day_u_p  阅读(4)  评论(0编辑  收藏  举报