终端
tty控制台终端
tty1-tty6
tty1既是图形界面(默认)
图形界面切换到字符界面终端:ctrl + shift + alt + F2~F6
字符界面切花到图形界面终端:alt + F1
pts虚拟终端
ctrl + alt + t 打开新终端
查看系统和BIOS硬件时间:指的是bios时间
Linux如何获得帮助?
方法1:加参数-h 或–help;
方法2:man 加命令;
关机命令:
shutdown、initial、reboot
shutdown 作用:关机、重启、定时关机
语法:#shutdown [选项]
选项:
-r:重新启动计算机
-h:关机
-h 时间:定时关机
-c:取消之前的定时关机
shutdown -h now #马上关机
shutdown -h +10 #10分钟后关机
shutdown -h 20:02 #在20:02时关机</pre>
init 作用:切换运行级别
语法:init 0~6
init 0 #命令用于立即将系统运行级别切换为0,即关机;
init 6 #命令用于将系统运行级别切换为6,即重新启动;</pre>
runlevel 作用:查看当前运行级别
语法:#runlevel
!$;表示上一个命令的最后一个参数;
同一目录下文件和文件名不一样。
字符操作:
i 当前插入
I 行首插入
a 当前字符之后插入
A 行尾插入
o 下一行插入
O 上一行插入
x 向后删除一个字符
X 向前删除一个字符
u 撤销一步
词操作
dw 删除一个词,删除时要将光标移动到这个词的行首。另外,如果光标不在行首,则删除光标之后的字母。
yw 复制一个词
快操作
大D或d + $ 删至行尾 d+^删至行首
y + $ 复制至尾 y + ^ 复制至首
v模式
进入v模式,移动光标选择区域
编程时需要进行多行注释:
-
注释:CTRL + v进入列编辑模式
-
向下或向上移动光标
-
把需要注释的行的开头标记起来
-
然后按大写的I
-
再插入注释符,比如’#’
-
再按Esc,就会全部注释了
linux文件系统由三部分组成:文件名,inode,block(真正存数据)
indoe:文件数据都储存在’块中‘,那么很显然,我们还必须找一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域叫做inode,中文名译为”索引节点“。
inode的内容
inode包含文件的元信息
文件的字节数
文件拥有者的User ID
文件的Group ID
文件的读、写、执行权限
文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上依次打开的时间。
链接数,即有多少文件名指向这个inode
文件数据block的位置
使用stat命令查看文件inode信息
inode的大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。
每个文件最少有一个inode号。操作系统号码来识别不同文件。
使用ls -i
命令,可以看到文件名对应的inode号码:
Linux中ctime,mtime,atime的区别
ctime:”改变时间(change time)“
mtime:”修改时间(modification time)“
改变和修改之间的区别在于是改文件的属性还是更改它的内容。chmod a-w myfile,那么这是一个改变;
echo foo >> myfile,那么这是一个修改。
改变是文件的索引节点发生来改变;修改是文本本身的内容发生了变化。
atime:”访问时间(access time)“
访问时间是文件最后一次被读取时间。因此阅读一个文件会更新它的访问时间。但是它的修改时间和改变时间没有变。
ls -lc filename #列出文件的ctime
ls -lu filename #列出文件的atime
ls -l filename #列出文件的mtime</pre>
ext4文件系统比ext3文件系统强的方面:
-
ext4与ext3兼容
-
更大的文件系统和更大的文件。交织Ext3目前所支持的最大16TB文件系统和最大2
TB文件,Ext4分别支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及16TB的文件。
-
无限数量的子目录。Ext3目前只支持32,000个子目录,而Ext4支持无限数量的子目录。
-
”无日志“(No Journaling)模式。日志总归有一些开销,Ext4允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
LUKS(Linux UNified Key Setup)为Linux硬盘加密提供了一种标准
cryptsetup是linux下的一个分区加密工具,是在经过加密的块设备上再创建文件系统,然后再进行挂在使用,可以达到最底层的加密。
首先对硬盘进行分区:
fdisk /dev/sdb
fdisk #分出一个sdb1
fdisk -l
下面开始对分区进行加密
#cryptsetup luksFormat/dev/sdb1
设置为加密分区
出现要输入yes的地方一定要输入YES
映射
cryptsetup luksOpen /dev/sdb1 disk1
#将分区映射成disk1,则这个设置就在/dev/mapper中
mkfs.ext4 /dev/mapper/disk1
格式化加密分区
mount /dev/mapper/disk1/mnt/luks
挂载加密分区
df查看分区挂载情况
umount /dev/mapper/disk1
卸载分区
cryptsetup luksClose/dev/mapper/disk1
关闭加密分区
生成加密分区的密码文件,实现开机自动挂载加密分区
vi /etc/crpttab
写入:
disk1 /dev/sdb1 /root/key
如果这里写none的话,当系统启动时在读取分区时候,会一直停在那,等待输入密码
echo -n "123" > /root/key
生成密码文件
chmod 700 /root/key
修改权限
cryptsetup luksAddKey/dev/sdb1/root/key
添加口令到/dev/sdb1中
cat /etc/crypttab
disk1 /dev/sdb1 /root/key
vi /etc/fstab自动挂载文件
/dev/mapper/disk1 /mnt/luks ext4 defaults 0 0
mount -a 重新挂载/etc/fstab里的内容,如果报错的话就需要重启系统
转码
iconv -f gb2312 1.txt -o 2.txt
解决将公司服务器上脚本导到windows上打开串行问题
这是因为windows和Linux处理回车不同。
unix2dos 文件名
用户分类:
根据账号的位置:本地帐号、远程(域)账号。
根据账号功能:
超级用户(root) UID :0
普通用户
系统用户 UID:1-499
本地用户 UID:500+
组分类:
根据账号的位置:本地组、远程(域)组。
根据账号功能:
超级用户组(root) UID :0
普通用户组
系统用户组 UID:1-499
本地用户组 UID:500+
关于系统用户和组的相关配置文件:
账号信息 密码信息
用户: /etc/passwd /etc/shadow
组: /etc/group /etc/gshadow
passwd中的伪用户:
/etc/passwd文件中常见的伪用户
伪用户 | 含义 |
---|---|
bin | 拥有可执行的用户命令文件 |
sys | 拥有系统文件 |
adm | 拥有账户文件 |
uucp | UUCP使用 |
Ip | Ip或Ipd子系统使用 |
nobody | NFS使用 |
源码安装nginx,运行nginx web服务默认使用nobody用户
用户名:密码:最近更改密码的日期(从19700101开始计算):密码不能更改的天数(最近被改过之后几天后才可以再次更改。0表示随时可以修改):密码过期时间(多少天后必须再次修改):密码需要更改期限到来前7发出警告:宽限天数(密码过了几天后还能改密码):账号过期时间:保留
为多个用户输入初始密码
#echo 密码 | passwd --stdin 用户名
# --stdin非交互添加密码
Linux用户密码加密
控制添加用户规则的文件
HOME=/home #哪个目录作为用户主目录存放目录。如果你不想让用户家目录在/home下,可以修改这个地方。
SHELL=/bin/bash #默认shell使用哪个
SKEL=/etc/skel #模板目录
查看用户信息相关命令:
id 用户名
whoami
w
who
用户切换
#su [-] username
加-用户和shell环境一起切换。