Linux操作系统
一、常识
1. 常用目录
/boot:存放启动时所需的文件,比如内核文件和启动加载器配置文件(如GRUB)。
/root:系统管理员(超级用户)的主目录。
/home:普通用户的主目录,存放用户个人文件和设置。
/etc:存放系统配置文件,如网络设置、用户信息、启动脚本等。
2. 关机、重启操作
关机命令:
shutdown -h now
:立即关机。poweroff
:关闭电源。halt
:停止所有处理并关闭系统。
重启命令:
reboot
:重启系统。shutdown -r now
:立即重启。
3. 查看历史命令
使用
history
命令可以查看之前执行过的命令。可以通过!n
执行历史中的第n条命令。
二、基本命令
1. 文件操作
查看文件内容:
cat
,less
,more
,head
,tail
新建文件:
touch filename
新建目录:
mkdir dirname
重命名文件:
mv oldname newname
移动文件:
mv source destination
删除文件:
rm filename
删除目录:
rm -r directoryname
查找文件:
find
,locate
复制文件:
cp source destination
排序文件内容:
sort filename
按行查找关键字:
grep "keyword" filename
显示当前工作目录:
pwd
2. 链接文件
硬链接:文件的镜像副本,与原文件共享inode。删除一个硬链接不会影响文件内容,只有所有链接都删除后文件才会被删除。
命令:
ln source hardlink_name
符号链接:类似于Windows的快捷方式,指向目标文件的路径。删除符号链接不影响原文件,但删除源文件会使符号链接失效。
命令:
ln -s source symlink_name
3. 文件压缩和打包
打包文件:
tar
命令(如tar -cvf archive.tar files
)压缩文件:
gzip
,bzip2
,xz
压缩:
gzip filename
解压:
gunzip filename.gz
4. 管道符和输出重定向
管道符(|):将前一条命令的输出作为后一条命令的输入。
如:
cat file | grep keyword
输出重定向:
将输出重定向到文件:
command > filename
将错误重定向到文件:
command 2> errorfile
5. 文件内容统计命令
使用
wc
命令统计文件内容,包括行数、单词数和字符数。如:
wc filename
三、权限设置
1. 文件属性表示方法
数字法:以三位八进制数字表示文件权限。每一位分别对应用户、组和其他用户,权限值为
r=4, w=2, x=1
。如:
chmod 755 filename
设置所有者有读、写、执行权限,组和其他人只有读和执行权限。
rwx表示法:
r
代表读,w
代表写,x
代表执行权限。如:
-rw-r--r--
表示文件所有者有读写权限,组和其他人只有读取权限。
2. 改变文件属性命令
改变文件权限:
chmod
如:
chmod u+x filename
为所有者增加执行权限。
改变文件所属用户或组:
chown
,chgrp
如:
chown user:group filename
更改文件的所有者和组。
四、用户和用户组管理
1. 用户相关配置文件
/etc/passwd
:存储用户账号信息。/etc/group
:存储组信息。/etc/shadow
:存储加密的用户密码。
2. 切换有效组
使用
newgrp groupname
命令切换到指定组。
3. 新建、删除用户和用户组
新建用户:
useradd username
删除用户:
userdel username
新建组:
groupadd groupname
删除组:
groupdel groupname
4. 锁定、解锁用户
锁定用户:
usermod -L username
解锁用户:
usermod -U username
五、软件安装
1. 两种软件安装方式
RPM:红帽软件包管理器,适用于RHEL/CentOS等系统。
rpm -ivh package.rpm
安装,rpm -e package
卸载。YUM:基于RPM的包管理器,自动解决依赖关系。
yum install package
安装,yum remove package
卸载。
六、磁盘管理
1. 分区规则和设备文件名
磁盘分区可以使用
fdisk
或parted
命令,分区后的设备文件名通常为/dev/sda1
,其中a
表示硬盘序号,1
表示分区序号。
2. 格式化分区命令
使用
mkfs
命令格式化分区,如mkfs.ext4 /dev/sda1
。
3. 挂载命令及流程
使用
mount
命令挂载分区:如:
mount /dev/sda1 /mnt
卸载:
umount /mnt
4. 磁盘配额
配置磁盘配额可以使用
quota
和edquota
命令,主要用于限制用户和组使用磁盘空间的大小。
七、进程管理
1. 查看进程
使用
ps
命令或top
命令查看当前系统运行的进程。ps aux
:查看所有进程。top
:实时查看系统资源占用情况。
2. 计划任务(crontab)
crontab格式:
分钟 小时 日 月 星期 command
如:
0 3 * * * /path/to/command
表示每天凌晨3点执行某个命令。
使用
crontab -e
编辑计划任务。
3. 查看后台任务
使用
jobs
命令查看后台运行的任务。
4. 设置任务后台执行
在命令后加上
&
符号可将任务设置为后台运行。如:
command &
八、Vi编辑器
1. 三种模式
命令模式:用于执行删除、复制等命令。
插入模式:用于输入文本。
底行模式:用于执行保存、退出等命令。
切换方式:
命令模式进入插入模式:按
i
或a
。命令模式进入底行模式:按
:
。
2. 常规快捷操作
删除行:
dd
复制行:
yy
粘贴:
p
定位到文件首:
gg
定位到文件尾:
G
九、Shell编程
1. 环境变量的定义
使用
export
命令定义环境变量。如:
export VAR=value
2. 位置参数
\$0
表示脚本名称,\$1, \$2, ...
表示传递给脚本的参数。
3. 变量输入、输出
输入:
read var
输出:
echo $var
4. 变量数值计算
使用
$(( ))
进行算术运算。如:
result=$((a + b))
5. 判断变量是否为整数
可以使用正则表达式进行判断:
[[ $var =~ ^[0-9]+$ ]] && echo "整数"
6. 判断参数个数
使用
$#
判断传递给脚本的参数个数。