admin 管理员组文章数量: 887021
Liunx
个人blog-1: 拾忆生活
个人blog-2: 极简-拾忆生活
欢迎大家来踩,同步更新
Linux
Linux 用户登陆输入密码时,字符是不显示的,防止别人看见你密码的位数
Linux预设提供了六个命令窗口终端机让我们来登录。
- Liunx系统
- 命令窗口切换的快捷键为
Ctrl + Alt + F1 ~ F6
- 命令窗口界面返回图形界面,按下Ctrl + Alt + F7 就回来
- 命令窗口切换的快捷键为
- vm虚拟机的Liunx系统
- 命令窗口切换的快捷键为
Alt + Space + F1 ~ F6
- 图形界面界面返回命令窗口按
Alt + Shift + Ctrl + F1~F6
- 命令窗口切换的快捷键为
查看LIunx版本
cat /etc/redhat-release
添加终端快捷方式
-
terminal
-
/usr/bin/gnome-terminal
-
ctrl+
`
命令解析器
-
unix系统
- shell
-
Linux系统
- bash·····
-
Bourne Shell
- (/usr/bin/sh或/bin/sh)
-
Bourne Again Shell
【即bash】- (/bin/bash)
-
C Shell
- (/usr/bin/csh)
-
K Shell
- (/usr/bin/ksh)
-
Shell for Root
- (/sbin/sh)
Linux快捷键
Tab键
- 自动补全路径
cd /xxx
- 进入目录
ctrl + p
或 上- 上一条执行过的命令
ctrl + n
或 下- 下一条执行过的命令
ctrl + b
或 左- 光标左移
ctrl + f
或 右- 光标右移
ctrl + a
- 光标移到行首
ctrl + e
- 光标移到行尾
开机过程
1.内核的引导。
2.运行 init。
3.系统初始化。
4.建立终端 。
5.用户登录系统。
- 1.BIOS 开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动
/boot
目录下的内核文件
- 2.init 进程是系统所有进程的起点
/etc/inittab
读取配置文件
- 运行这些开机启动的程序,叫做"守护进程"(daemon)
- 启动时根据"运行级别",确定要运行哪些程序
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 运行级别2:多用户状态(没有NFS)
- 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
- 系统初始化
si::sysinit:/etc/rc.d/rc.sysinit
它调用执行了/etc/rc.d/rc.sysinit
- 激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务
- 用户登录系统
- 如果用户名不是 root,且存在
/etc/nologin
文件,login 将输出 nologin 文件的内容,然后退出。 - 只有
/etc/securetty
中登记了的终端才允许 root 用户登录
- 如果用户名不是 root,且存在
关机、重启
选项关机
- System -> Shut down ->Shut down
将数据由内存同步到硬盘中
sync
关机
shutdown -h now
- 【root,最安全】立即关机
shutdown –h 20:25
- 【root】今天20:25关机
shutdown –h +10
- 【root】十分钟后关机,单位:分
poweroff
- 【最常用】
halt
- 【最简单】等同于shutdown –h now 或 poweroff
init 0
- init定义了8个运行级别,
init 0
为关机,init 1
为重启
- init定义了8个运行级别,
取消关机
shutdown -c
- 【root】
重启
reboot
- 立马重启
shutdown –r now
- 立马重启
shutdown –r +10
- 十分钟后重启
正确的关机流程为:
sync > shutdown > reboot > halt
系统文件
1.用户
用户分为
- owner [属主]
- group [属组]
- others [其他]
- all [所有用户]
查看文件权限信息
ls -l
- 第一列:
-
表示文件、d
表示目录 - 第一列还有所有者权限、用户组权限、其他用户权限
- 以上共10个数字:1|3|3|3、-/d|owner|group|others
- 第一列:
[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)
数字 说明 权限
0 没有任何权限 ---
1 执行权限 --x
2 写入权限 -w-
3 执行权限和写入权限:1 (执行) + 2 (写入) = 3 -wx
4 读取权限 r--
5 读取和执行权限:4 (读取) + 1 (执行) = 5 r-x
6 读取和写入权限:4 (读取) + 2 (写入) = 6 rw-
7 所有权限: 4 (读取) + 2 (写入) + 1 (执行) = 7 rwx
更改文件属性【加上-R的参数,那么该目录下的所有文件的属组都会更改】
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod:更改文件9个属性【xyz 为数字,就是 rwx 属性数值的相加】
chmod [-R] xyz 文件或目录
chmod [-R] u=rwx,g=rwx,o=rwx 文件名
2.文件
文件目录系统是树结构
使用 man [命令]
来查看各个命令的使用文档,如 :man cp
显示目前的目录
pwd
【以连结档的数据显示】pwd -P
【不以连结档的数据显示,而是显示正确的完整路径】
创建一个新的目录
mkdir
删除一个空的目录
rmdir
查看目录
ls /
查看文件
ls
查看所有文件(隐藏文件)
ls -a
查看当前目录下的所有文件列表
ls -al
[权限][文件数][所有者][用户组][文件容量][修改日期][文件名]
【注:查看用户】
- 1.
cd /home
- 2.
ls
切换用户目录
- 绝对目录:从根目录开始写
cd /root/aaa/
【使用绝对路径切换到 aaa 目录】
- 相对目录:相对于当前工作目录而言
.
【当前目录】cd ./aaa/
【使用相对路径切换到 aaa 目录】..
【当前的上一级目录,如 cd …/man】cd -
【在两个临近的目录间切换】cd ~
【切换到根目录】
3.文件的操作
创建
touch filename
编辑
vi filename
查看
cat filename
复制
cp filename copyfile
重命名
mv filename newfile
删除
rm filename filename2
统计词数
wc filename
重定向【改变输入输出设备, 箭 头 的 方 向 注 入 \color{red}箭头的方向注入 箭头的方向注入】
echo hello > hello.txt
- 把hello打印到hello.txt的文本中【覆盖】
echo hello >> hello.txt
- 把hello打印到hello.txt的文本中【追加】
cat < hello.txt
- 把hello.txt输出查看
管道【将前一个命令的标准输出作为下一个程序的标准输入】
cat hello.txt | grep -n 8
- 先查看
hello.txt
文件,再查找8
数字,-n
是显示行号
- 先查看
cat hello.txt | grep -n 8 > cat.txt
- 先查看
hello.txt
文件,再查找8
数字,-n
是显示行号,写入cat.txt
文件
- 先查看
Linux程序运行时都会创建三个文件流
- 标准输入流(stdin)
- stdin的文件描述符为0,Linux程序默认从stdin读取数据。
- 标准输出流(stdout)
- stdout 的文件描述符为1,Linux程序默认向stdout输出数据。
- 标准错误流(stderr)
- stderr的文件描述符为2,Linux程序会向stderr流中写入错误信息。
文件链接
硬链接(Hard Link),软(符号)链接(Symbolic Link)
硬链接
- 硬连接指通过索引节点来进行连接。多个文件名指向同一索引节点是存在的
- 作用: 允 许 一 个 文 件 拥 有 多 个 有 效 路 径 名 , 防 止 “ 误 删 ” \color{red}允许一个文件拥有多个有效路径名,防止“误删” 允许一个文件拥有多个有效路径名,防止“误删”
- A 是 B 的硬链接(A 和 B 都是文件名)
- 则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同。
- 一个 inode 节点对应两个不同的文件名
- 删除其中任何一个都不会影响另外一个的访问。
软链接
- 类似于 Windows 的快捷方式
- 文件实际上是一个文本文件,其中包含的有另一文件的位置信息
- A 是 B 的软链接(A 和 B 都是文件名)
- A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同。
- A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)
测试
[oracle@Linux]$ touch f1 #创建测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1#在f1文件输入内容
[oracle@Linux]$ echo "I am f1 file" >>f1#查看f1
[oracle@Linux]$ cat f1
I am f1 file#删除f1后
[oracle@Linux]$ rm -f f1#查看f2,f3
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory
- 第一列是inode节点
- 原文件
f1
与硬连接文件f2
的 inode节点相同,均为 9797648。 - 原文件
f1
与软连接文件f3
的 inode节点相同。 - 删除原始文件
f1
后,硬连接f2
不受影响,软连接f3
文件无效
用户管理
添加账号
useradd 选项 用户名
useradd –d /home/sam -m sam -s /bin/sh -g group –G adm,root gem
- 选项
-c
注释。-d
指定用户主目录,如果目录不存在,则同时-m
,创建主目录。-g
指定用户所属的用户组。-G
指定用户所属的附加组。-s
指定用户的登录Shell。-u
指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
删除帐号
userdel 选项 用户名
userdel -r sam
- 选项
-r
把用户的主目录一起删除。
修改帐号
usermod 选项 用户名
usermod -s /bin/ksh -d /home/z –g developer sam
- 选项
-c, -d, -m, -g, -G, -s, -u
同上-o
用户口令密码管理
passwd 选项 用户名
- 选项
-l
禁用账号,不能登录。【passwd -l sam】-u
口令解锁。-d
使账号无口令。【passwd -d sam】-f
强迫用户下次登录时修改口令。
普通用户
$ passwd
Old password:
New password:
Re-enter new password:
超级用户
$ passwd sam
New password:
Re-enter new password:
用户组管理
增加一个新的用户组【新组标识号GID是在当前已有的最大组标识号的基础上加1】
groupadd 选项 用户组
groupadd -g 101 group1
- 选项
-g
指定GID。-o
与-g选项同时使用,表示新用户组GID与已有用户组GID相同。
删除用户组
groupdel 用户组
修改用户组
groupmod 选项 用户组
groupmod –g 10000 -n group1 group2
【组group1的GID改为10000,组名修改为group2】- 选项
-g、-G
同上-n
将用户组名字改为新名字
一个用户同时属于多个用户组,用户可以在用户组之间切换
- 作用:具有不同用户组的权限。
切换到要到的用户组
newgrp 目的用户组
newgrp root
查看用户管理
一、cat /etc/passwd
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
- 大多都是伪用户
root:x:0:0:root:/root:/bin/bash
···
二、cat /etc/shadow
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- /etc/shadow中的记录行与/etc/passwd中的一一对应
三、cat /etc/group
组名:口令:组标识号:组内用户列表
- 用户组的所有信息
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
···
超级用户root
切换到超级用户
sudo su
退出超级用户
exit
磁盘管理
检查文件系统的磁盘空间占用大小情况
df [-ahikHTm] [目录或文件名]
df -h
- 选项【默认Kbytes,8 Kbytes = 1 KBytes】
-a
:列出所有的文件系统。-k
:KBytes容量显示。-m
:MBytes容量显示。-h
:GBytes, MBytes, KBytes 格式自行容量显示。-H
:以 M=1000K 取代 M=1024K 的进位方式。-T
:显示文件系统类型。-i
:以 inode 的数量显示。
检查文件系统的磁盘空间占用数量情况
du [-ahskm] 文件或目录名称
du -h / du
- 选项
-a 、-k 、-m 、-h
同上-s
:列出总量而已,而不列出每个各别的目录占用容量;-S
:不包括子目录下的总计,与 -s 有点差别。
磁盘分区表操作工具
fdisk [-l] 装置名称
fdisk
- 选项
-l
:输出后面接的装置所有的分区内容
mount挂载
首先增加硬盘,然后格式化硬盘,在硬盘上创建分区,创建目录,最后再挂载
1.Windows下的mount挂载,就是给磁盘分区提供一个盘符(C,D,E,…)
- U盘插入为mount
- U盘拔出为unmount
2.Linux下只有一个根目录/,分配给linux的所有区都在/下的某个位置
mount /dev/sdb1 ~/Share/
/dev
是目录,/dev/sdb1
不是目录,ls /dev/sdb1
无法执行。- 因为/dev/sdb1,是一个类似指针的东西,指向这个分区的原始数据块。
- mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。
分析:
- 把新硬盘区
sdb1
挂载到工作目录的~/Share/
文件夹下 - 之后访问这个
~/Share/
文件夹就相当于访问这个硬盘的sdb1
分区了
sudo
sudo
是linux系统管理指令
允许让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等
centos8
CentOS 8主要使用AppStream, BaseOS, Extras三个仓库
打开终端
CTRL + ALT + T
连接网络,设置IP地址
1、手动更改网络接口配置文件,查看网络接口
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 这里是你的MAC地址 brd ff:ff:ff:ff:ff:ff
···
2、选择第二个ens160网络接口,进入网络配置文件目录
cd /etc/sysconfig/network-scripts/
3、在vim编辑器中修改:文件名称是ifcfg- 网卡名称
vi ifcfg-ens160
···
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=你自己的UUID
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.1.60
PREFIX=24
GATEWAY=192.168.1.2
DNS1=8.8.8.8
DNS2=8.8.4.4
4、重新加载网络配置
方式一:【一步到位,后面不用】
ip addr flush dev ens160 && systemctl restart NetworkManager.service
方式二:
nmcli c reload
5、CentOS 8默认不支持network.service服务
安装network.service服务
yum install network-scripts
6、重启网络服务
service network restart
7、重启网络服务
systemctl restart network.service
8、测试网络是否正常
ping www.baidu.com
9、查看ip地址
ip addr show
设置主机名为www
hostname www
编辑配置文件
vi /etc/hostname
- 把
localhost.localdomain
改为www
- 把
vi /etc/hosts
- 把
127.0.0.1 localhost localhost.localdomain
改为127.0.0.1 localhost www
- 把
把网卡名称ifcfg-ens160改为ifcfg-eth0
1、进入目录
cd /etc/sysconfig/network-scripts/
2、改文件名
mv ifcfg-ens160 ifcfg-eth0
3、编辑
vi ifcfg-eth0
4、修改
NAME=eth0
DEVICE=eth0
5、编辑
vi /etc/sysconfig/grub
- 在
GRUB_CMDLINE_LINUX
变量中添加一句net.ifnames=0 biosdevname=0
6、重新生成grub配置并更新内核参数
grub2-mkconfig -o /boot/grub2/grub.cfg
7、添加udev的规则
cd /etc/udev/rules.d
vi 70-persistent-net.rules
- 输入
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="这里是你的MAC地址",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"
8、重启系统
shutdown -r now
运行ffmepg视频转码
- 在Vidoes打开终端
- 转码
ffmpeg -i a.mp4 a_h264.mp4
- 播放
mplayer -vo caca -quiet a_h264.mp4
- 右下角连接声卡
本文标签: Liunx
版权声明:本文标题:Liunx 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1688147163h184913.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论