Linux学习-day6

问题回顾

ssh登录

Linux服务器默认有7个终端,按Ctrl+alt+F1~F7可以进行切换;

SSH远程登录服务器

  • Windows下命令写法:ssh root@10.0.0.129 22(端口不写默认是22)
  • Linux下命令写法:ssh -p 22 root@10.0.0.129

关于登录与退出登录

  • 登录系统 ssh -p 22 user@10.0.0.129
  • 退出登录 exit/退出登录 logout/退出会话登录

切换登录用户

  • 验证用户是否存在 id user
  • 用户切换 su - user "-"表示用户切换并加载该用户的环境变量PATH,并进入该用户的家目录 ~/.bash_profile
  • "~/.bash_profile"作用是针对用户个人添加的一些额外配置,比如安装的某软件,加了PATH变量,可以快捷访问等。

关于echo命令--引号

在linux中,打印,输出一段信息,以及可以用shell语法,打印变量的值

echo和 引号的关系很密切

1. linux下的单引号,表示不做特殊符号转义,仅仅是 一个纯字符串

2. linux下的双引号,也表示定义字符串,但是,它能识别特殊符号!!


echo命令输出变量,有两种写法

1.完整的写法,强烈建议用这个
myname='海贼王的男人'

echo ${myname}

2.支持简写

echo $myname 

修改命令提示符

  1. 退出后重新登录
  2. su命令重新登录
  3. 修改主机名称:hostnamectl set-hostname hello2024(修改后重新登录或者输入bash更新)

关于反斜线,对特殊符号,进行转义

“\”反斜线的作用是,将特殊字符转义为普通字符,去掉它的作用

Linux里面比较重要的目录文件

/etc初始化系统重要文件

  • /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/rc.local:存放开机自启动程序命令的文件
  • /etc/inittab:系统启动设定运行级别等配置的文件
  • /etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
  • /etc/profile.d:用户登录后执行的脚本所在的目录
  • /etc/issue和/etc/issue.net:配置在用户登录终端前显示信息的文件
  • /etc/init.d:软件启动程序所在的目录(centos 6)
  • /usr/lib/systemd/system/ 软件启动程序所在的目录(centos 7)
  • /etc/motd:配置用户登录系统之后显示提示内容的文件
  • /etc/redhat-release:声明RedHat版本号和名称信息的文件
  • /etc/sysctl.conf:Linux内核参数设置文件

/proc重要路径

/proc/meminfo:系统内存信息

/proc/cpuinfo:关于处理器的信息,如类型,厂家,型号,性能等

/proc/loadavg:系统负载信息,uptime 的结果

/proc/mounts:已加载的文件系统的列表

/var目录下文件

/var/log:记录系统及软件运行信息文件所在的目录

/var/log/messages:系统级别日志文件

/var/log/secure:用户登录信息日志文件

/var/log/dmesg:记录硬件信息加载情况的日志文件

关于系统设置公网dns配置文件的演示

[root@hello2024 ~]# cat /etc/resolv.conf     一般会有主、备两个地址,防止一个挂了就无法进行域名解析了
# Generated by NetworkManager
search localdomain
nameserver 10.0.0.2     配置新的域名
vi /etc/resolv.conf     注释掉系统DNS客户端配置文件,就是删除里面的配置

尽量配置国内的dns 服务器地址,近,网速快

常见的DNS域名解析服务器

  • 谷歌的公共DNS服务器

主DNS:8.8.8.8

辅DNS:8.8.4.4

114.114.114.114

114.114.115.115

119.29.29.29

182.254.118.118

223.5.5.5

223.6.6.6

180.76.76.76

DNS被劫持的概念

中毒解析:黑客关掉本地公网的DNS服务器设置;修改host文件;

处理方法:
1.去掉hosts里的恶意解析
2.配置正确的dns地址
3.涉及你本地机器,会有dns解析缓存,使用命令强制刷新

最重要的文件夹

/usr/local/ 该目录,你以后,安装各种软件,往这里装就行了!

重要目录解释

  • bin :

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • boot :

此目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • dev :

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在Linux 中访问设备的方式和访问文件的方式是相同的

  • etc :

[root@server ~]#ls /

bin data etc lib media opt root sbin sys usr www boot dev home lib64 mnt proc run srv tmp varetc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • home :

用户的主目录,在Linux系统,每个用户都有一个自己的目录,一般该目录名都以用户的账户命名。

  • lib :

lib是Library(库)的缩写,这个目录存放着系统最基本的动态连接共享库,其作用类似于似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • media :

linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • mnt :

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • opt :

opt是optinoal的缩写,这是给主机额外安装软件所摆放的目录。

  • proc :

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系

统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目

录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,

比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  • root :

该目录为系统管理员,也称作超级权限者的用户主目录

  • sbin :就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • usr :

usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的program files 目录。

  • usr/bin :

系统用户使用的应用程序。

  • usr/sbin :

超级用户使用的比较高级的管理程序和系统守护程序。

  • var :

var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

命令补充

ls 查看目录
ls -l 以列表形式显示文件详细属性,可以简写为ll
ls -h 显示更有好的容量单位 KB/MB/GB
ls -a/--all 显示该目录中所有文件,包括隐藏文件
ls -d /root/hello  显示hello文件夹信息,不加-d现实的是文件夹里面的信息
---------
id  查看系统中的用户信息
whoami 查看当前用户名
id root id后面加上用户面可以查看该用户是否存在
---------
Ctrl+C  强制终端Linux的操作
---------
hostname   查看主机名
---------
bash   再一次加载用户的环境变量,更新用户的机器信息;永久的修改,更改了系统上的文件,文件目录hostnamectl set-hostname hello2024
[root@localhost ~]# hostnamectl set-hostname hello2024
[root@localhost ~]# bash
[root@hello2024 ~]# cat /etc/hostname 
hello2024
-----------
mkdir -p ./a/b/c  递归创建文件夹;-p会自动判断文件夹是否存在,不存在就会自动创建
-----------
.        表示当前工作目录
..       表示上一级工作目录
-        表示上一次工作目录
~        表示用户家的特殊符号	
-----------
stat     查看文件的详细信息
[root@hello2024 ~]# stat hello\ world.txt
  File: ‘hello world.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 33575036    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2024-02-28 22:17:10.302894119 +0800     文件访问时间
Modify: 2024-02-28 22:17:10.302894119 +0800     文件属性修改时间
Change: 2024-02-28 22:17:10.302894119 +0800     文件内容修改时间
 Birth: -
-----------
history 查看历史敲过的命令
history -c 清空历史记录
echo ${HISTSIZE}  查看系统支持多少条历史记录
[root@hello2024 ~]# echo ${HISTSIZE}
1000
history 10  查看最后10条历史记录
-----------
uaname   查看系统详细信息
uname -a  查看所有信息
uname -r  查看内核信息
uname -m  查看处理器架构
-----------
#     以#开头的文件,Linux都不会读取,只是给程序员自己看的
posted on 2024-02-28 23:50  day_day_u_p  阅读(28)  评论(0)    收藏  举报