Linux学习笔记
Linux目录说明
目录 | 说明 |
---|---|
/bin | bin是Binary的缩写, 这个目录存放着最经常使用的命令。 |
/boot | 启动linux的一些核心文件 |
/etc | 这个目录用来存放所有的系统管理所需要的配置文件和子目录。 |
/home | 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 |
/lib | 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 |
/tmp | 这个目录是用来存放一些临时文件的。 |
/usr | 用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 |
/var | 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 |
系统命令
指令 | 说明 |
---|---|
shutdown 或 halt | 关机 |
roboot | 重启 |
shutdown -h 10 | 十分钟后关机 |
shutdown -r now | 立即重启 |
sync | 将内存中的数据同步到磁盘 |
logout | 退出当前登录 |
ifconfig | 显示网络信息 |
who | 显示在线用户 |
hostname | 显示主机名 |
uname | 系统信息 |
du | 显示当前已用字节数 |
df | 显示文件磁盘使用情况 |
ping 地址 | 测试网络连通性 |
clear | 清屏 |
top | 显示资源最多的进程 |
ps -aux|grep 进程名 | 显示进程 |
kill 进程号 | 杀死进程 |
目录相关命令
指令 | 说明 |
---|---|
cd 目录名 | 进入目录(..表示上级目录,./表示当前目录) |
ll或ls | 查看当前目录所有文件 |
pwd | 显示当前绝对路径 |
mkdir 目录名 | 创建目录 |
rm -fr 文件 | 递归删除文件,并忽略不存在的文件 |
cp 源文件 目标地址 | 复制文件到指定的地址,-a:复制全部,-i:覆盖文件,-r:递归复制文件 |
mv 源文件 目标地址 | 移动文件到指定的地址,可以通过该命令实现重命名 |
文件属性
在linux中,每个文件都有以下详细信息
-
前十位字母的含义如下:
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-“字符表示,则没有读权限;第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用”-“字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用”-"字符表示,则没有执行权限。可以通过命令更改文件的9个属性:
chmod [-R] xyz 文件或目录
其中 xyz分别为用户主、用户组、其他用户的权限。读默认为4,写默认为2,可执行默认为1。xyz都为这三者的相加。所以如果xyz为777则代表具备所有权限。 -
数字代表该目录中的文件数
-
两个root分别代表用户主和用户组
更改属主的命令:chown [-R] 属组名 文件名
更改属组的命令:chgrp [-R] 属组名 文件名
文件相关命令
指令 | 说明 |
---|---|
cat 文件名 | 显示文件内容 |
nl 文件名 | 代行号显示文件内容 |
more 文件名 | 按页查看内容,空格翻页,enter下一行 |
head [-n number] 文件名 | 显示文件的前几行 |
tail [-n number] 文件名 | 显示文件的后几行 |
touch 文件名 | 生成一个空文件 |
echo ’内容‘>>文件 | 追加内容到文件 |
tar -zcvf 压缩名 文件 | 压缩文件 |
tar -zxvf 压缩文件 | 解压缩 |
stat 文件 | 显示文件具体信息 |
硬连接和软连接
对一个文件创建硬连接表示重新复制一份,
vi和vim编辑器
三种模式:正常模式、插入模式、命令行模式
- vim打开一个文件后默认正常模式,正常模式下可以用各种命令
- 按下键盘上的
i
可以进入插入模式,插入模式可以输入内容,在输入模式按下键盘ESC
退出输入模式。 - 按下
:
可以进入命令行模式
在:后面跟上w表示保存,q表示退出,q!表示强制退出
正常模式的操作
账号管理
实际上是在操作/etc/passwd
文件
指令 | 说明 |
---|---|
useradd -m 用户名 | 创建用户并创建主目录 |
userdel -r 用户名 | 删除用户名并删除用户主目录 |
passwd 用户 | 为用户设置密码 |
su 用户 | 切换用户 |
用户组管理
实际在操作做/etc/group
指令 | 说明 |
---|---|
groupadd 用户组 | 创建用户组 |
groupdel 用户组 | 删除组 |
groupmod -g newgroup group | 修改组 |
安装包管理
- 使用rpm安装软件(Centos)
检查是否存在:rpm -qa|grep jdk
(以安装jdk为例)
卸载已存在的软件:rpm -e --nodeps 检查出来的软件名称
安装:rpm -ivh rpm包
- 使用apt-get安装软件(Ubuntu)
更新数据源:apt-get update
安装:apt-get install 软件名
卸载:apt-get remove 软件名
- 使用yum安装软件
安装:yum -y install 软件名
卸载:yum remove 软件名
Centos防火墙和端口管理
查看防火墙:firewall-cmd --list-all
查看已开放端口:firewall-cmd --zone=public --list-ports
开放端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent
关闭端口:firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
配置立即生效:firewall-cmd --reload
或者重启防火墙systemctl restart firewalld.service
防火墙状态:firewall-cmd --state
Ubuntu16.04配置IP地址
打开配置文件:sudo vim /etc/network/interfaces
只需要在该文件中添加如下内容:
auto ens33 #网卡名
iface ens33 inet static #设置为静态
address 192.168.192.130 #IP地址
netmask 255.255.255.0 #子网掩码
gateway 192.168.192.2 #网关
dns-nameserver 114.114.114.114 #DNS服务器
其中:IP地址、子网掩码、网关的配置要查看本地虚拟机的配置。在VMvare中进入编辑->虚拟网络编辑器->选择VMnet8->点击Nat设置
,可以看到子网掩码和网关
此处的IP地址取值范围就可以是192.168.192.0到192.168.192.255,并且不要与网关相同。修改完后保存信息。重启服务器或者命令行输入sudo /etc/init.d/networking restart
重启网络。配置生效
Ubuntu18.04配置IP地址
打开文件:cd /etc/netpaln
,打开其中的yaml文件,将其修改为以下的配置后重启网络
network:
version: 2
renderer: networkd
ethernets:
ens33: #配置的网卡名称,使用ifconfig -a查看得到
dhcp4: no #dhcp4关闭
dhcp6: no
addresses: [192.168.189.130/24] #设置本机IP及掩码
gateway4: 192.168.189.2 #设置网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
重启网络:sudo netplan apply