问题回顾
ssh登录
Linux服务器默认有7个终端,按Ctrl+alt+F1~F7可以进行切换;
SSH远程登录服务器
- Windows下命令写法:ssh [email protected] 22(端口不写默认是22)
- Linux下命令写法:ssh -p 22 [email protected]
关于登录与退出登录
- 登录系统 ssh -p 22 [email protected]
- 退出登录 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
修改命令提示符
- 退出后重新登录
- su命令重新登录
- 修改主机名称: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
- 114DNS(http://www.114dns.com/)
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都不会读取,只是给程序员自己看的
标签:文件,day6,用户,学习,etc,Linux,root,目录
From: https://www.cnblogs.com/day-day-u-p/p/18042393