引言 本笔记总结了Linux操作系统的基础知识和实用技巧,涵盖远程连接工具、常用命令、系统设置、定时任务、用户管理、文件权限等内容。
前置知识 在学习本笔记内容之前,建议具备以下基础:
基本的计算机操作知识
了解操作系统的基本概念
熟悉命令行界面的使用方式
建议购买云服务器进行实践操作
Linux使用总结 1. Linux介绍 历史背景 Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统。其内核由林纳斯·本纳第克特·托瓦兹 (Linus Torvalds)于1991年第一次释出。它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。
核心特点:
Linux内核kernel最初由芬兰人李纳斯·托瓦兹在赫尔辛基大学上学时出于个人爱好编写
1991年10月5日第一次正式向外公布
Linux借鉴了Unix的思想,但没有一行Unix的代码
Linux英文解释:Linux is not Unix ,业界称为”类Unix”系统
Linux构成 Linux系统由以下部分组成:
Linux Kernel (内核):系统的核心部分
软件包 :各种应用程序和工具
主流发行版本 目前市面上比较知名的Linux发行版有:
RedHat :企业级商业发行版
CentOS :社区企业操作系统(常用于Web服务器)
Ubuntu :用户友好的桌面和服务器版本
Fedora :RedHat的社区版本
Debian :稳定性强的发行版
Aliyun Linux :阿里云定制版本
SUSE Linux :企业级发行版
Open SUSE :SUSE的社区版本
CoreOS :容器化操作系统
FreeBSD :类Unix系统
应用场景选择:
Web应用(Java、PHP等)→ 选择CentOS
微软技术栈(ASP、.NET、SQL Server)→ 选择Windows Server
2. Linux常用远程连接工具
建议 :购买云服务器(阿里云、华为云等)进行实践,多练习才能熟练掌握Linux。
推荐工具组合 最佳组合:Xshell + WinSCP
主流远程连接工具 1. SecureCRT
2. XShell
3. Putty
4. XFTP
5. WinSCP
3. Linux常用命令总结 3.1 Linux特色目录符号
使用示例:
3.2 磁盘管理 目录切换与查看 1 2 3 4 5 6 7 8 9 10 11 12 cd 目录名 cd /info/a cd .. cd / cd - pwd fdisk -l
列出文件和目录 1 2 3 4 5 6 7 8 9 10 11 ll ll -a ll -h ls ls -a dir
磁盘空间查看
df 输出字段说明:
Filesystem :文件系统
Size :总容量
Used :已使用
Avail :可用空间
Use% :使用百分比
Mounted on :挂载点
使用场景:
df:查看磁盘分区整体使用情况
du:查看具体文件和文件夹占用空间
3.3 文件管理 创建目录 1 2 3 4 5 6 7 8 9 mkdir 目录名 mkdir -p file1/file2 mkdir -v file4 mkdir -vp {hello/,maven/}
文件操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 touch 文件名 rm -f 文件 rm -rf 目录 mv 源文件 目标文件
查看文件内容 1 2 3 4 5 cat 文件名 more 文件名 less 文件名 head 文件名 tail 文件名
复制与查找 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cp 源文件 目标文件 cp -rf 源目录 目标目录 find ./ -name 文件名 find ./ -mtime +5 which 命令 whereis 程序名
3.4 系统设置 进程管理 1 2 3 4 5 6 7 ps -aux ps -ef kill PID kill -9 PID
系统信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 date echo $LANG locale uname cat /etc/centos-release who whoami su 用户名
系统操作 1 2 3 shutdown -h now reboot clear
实用技巧:
系统负载监控
top 可查看信息:
CPU使用率
内存使用情况
系统运行时间
进程线程信息
交换分区使用情况
系统负载解读:
系统平均负载:特定时间间隔内运行队列中的平均进程数
每个CPU核心活动进程数 ≤ 3:系统运行良好
四核CPU:负载 < 12 为正常
负载达到20:系统负载严重
进程进入运行队列的条件:
没有在等待I/O操作
没有主动进入等待状态
没有被停止
内存管理
3.5 Linux定时任务
详细教程 :可参考博文《Linux crontab 命令详细使用》
Crontab 基本命令 1 2 3 crontab -e crontab -l crontab -r
Crontab 语法格式 1 2 3 4 5 6 7 * * * * * command │ │ │ │ │ │ │ │ │ └─── 星期 (0-7, 0和7都表示周日) │ │ │ └───── 月份 (1-12) │ │ └─────── 日期 (1-31) │ └───────── 小时 (0-23) └─────────── 分钟 (0-59)
使用示例 1 2 3 4 5 6 7 8 */1 * * * * echo "hello world" >> /opt/crontab.log 0 2 * * * /path/to/script.sh 0 9 * * 1 /path/to/script.sh
查看执行日志
重定向符号说明 1 2 3 4 > a.log >> a.log | > a.log
常用组合:
扩展阅读 :重定向详解参考博文 https://blog.csdn.net/smilehappiness/article/details/105181739
3.6 用户管理
详细教程 :https://www.runoob.com/linux/linux-user-manage.html
用户操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 useradd 用户名 userdel -r zhangsan passwd passwd zhangsan id 用户名
用户组操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cat /etc/passwd cat /etc/group groupadd 组名 groupdel 组名 groups groups 用户名 usermod -g 组名 用户名 gpasswd -a 用户名 组名 gpasswd -d 用户名 组名
3.7 文件权限 文件类型识别 使用 ll 命令查看文件权限信息:
Linux 7种文件类型:
1 2 3 4 5 6 7 -rw-rw-rw - 普通文件 drw-rw-rw d 目录(Directory) srw-rw-rw s 套接字文件(Socket) brw-rw-rw b 块设备(Block device) crw-rw-rw c 字符设备(Character device) lrw-rw-rw l 符号链接(Link) prw-rw-rw p 管道文件(Pipe)
权限详解 权限表示:
r (read):读权限,值=4
w (write):写权限,值=2
x (execute):执行权限,值=1
rwx :所有权限,值=7(4+2+1)
常见权限值:
644 :rw-r–r–(文件常用)
755 :rwxr-xr-x(目录常用)
777 :rwxrwxrwx(完全开放,不推荐)
权限结构解析 以 drwxr-xr-x 为例:
1 2 3 4 5 6 d rwx r-x r-x │ │ │ │ │ │ │ └─ 其他用户权限(Others) │ │ └───── 用户组权限(Group) │ └───────── 文件所有者权限(Owner) └──────────── 文件类型
位置说明:
第1位 :文件类型
第2-4位 :属主权限(创建者)
第5-7位 :属组权限(所属组)
第8-10位 :其他用户权限
文件中rwx的含义 1 2 3 r : 可查看文件内容(如 cat 命令) w : 可编辑或删除文件 x : 可作为命令执行
目录中rwx的含义 1 2 3 r : 可列出目录内容(ls 命令) w : 可在目录中创建文件 x : 可切换进入目录(cd 命令)+ 查看详细信息(ls -l)
权限修改命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 chmod 640 aa.txt chmod -R 755 /usr/local chown centos aa.txt chown -R centos /usr/local chgrp centos aa.txt chgrp -R centos /usr/local chown centos:centos aa.txt chown -R centos:centos /usr/local groups
3.8 文档处理 文本搜索与处理 1 2 3 4 5 6 7 8 9 10 11 12 13 grep 'keyword' 文件名 ps -ef | grep tomcat sort 文件名 cat aa.log | sort uniq cat aa.txt | sort | uniq wc 文件名 cat aa.txt | wc
日志查看与分析 1 2 3 4 5 6 7 8 9 10 11 12 13 14 grep -A 100 'Exception' catalina.out grep -B 100 'Exception' catalina.out grep -C 100 'Exception' catalina.out cat catalina.out | grep -C 100 'Exception' cat catalina.out | grep -A 100 'Exception' cat catalina.out | grep -B 100 'Exception' tail -f catalina.out tail -100f catalina.out tail -f -n 100 catalina.out
3.9 网络通讯 网络工具 1 2 3 4 5 6 7 8 9 10 curl https://example.com wget https://example.com/file yes y no 或 n
网络配置与测试 1 2 3 4 5 6 7 ifconfig curl ipinfo.io/ip curl ifconfig.me ping 域名或IP
端口与进程查看 1 2 3 4 5 6 7 8 9 10 11 lsof -i 端口号 lsof -i 8000 yum -y install lsof netstat netstat -nlp netstat -tunlp | grep 8000
netstat 参数说明:
1 2 3 4 5 -t (tcp) : 仅显示tcp相关选项 -u (udp) : 仅显示udp相关选项 -n : 拒绝显示别名,全部转化为数字 -l : 仅列出在监听(Listen)的服务 -p : 显示建立连接的程序名
3.10 备份压缩 tar 压缩与解压 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 tar -zxvf xxx.tar.gz tar -zxvf xxx.tar.gz -C /usr/local tar -xvf xxx.tar tar -zcvf xxx.tar.gz ./file/* tar -cvf xxx.tar ./file/* tar -zcvf file.tar.gz 目录 tar -jcvf file.tar.bz2 目录 tar -Jcvf file.tar.xz 目录 tar -xvf 压缩文件
压缩格式对比:
tar.gz :常用,压缩适中
tar.bz2 :压缩率高,速度较慢
tar.xz :压缩率最高,速度最慢
zip 压缩与解压 1 2 3 4 5 zip a.zip a.txt unzip a.zip
3.11 Linux上rz和sz的使用 对于小文件传输,可以使用rz/sz命令,无需XFTP或WinSCP。
安装
使用
使用场景:
小文件快速传输
临时文件上传下载
配合Xshell等终端使用
Shell重定向详解 标准文件描述符 1 2 3 0 : 标准输入(stdin) - 键盘 1 : 标准输出(stdout) - 屏幕 2 : 错误输出(stderr) - 屏幕
/dev/null 黑洞设备
常用重定向组合 1 2 3 4 5 6 7 8 9 10 11 12 13 command > file command 2> file command > file 2>&1 command &> file command >> file command 2>> file command > /dev/null 2>&1 command &> /dev/null nohup command > /dev/null 2>&1 &
重定向顺序的重要性 1 2 3 4 5 6 7 8 9 10 11 12 13 >/dev/null 2>&1 2>&1 >/dev/null
nohup 命令详解 1 2 3 4 5 6 nohup command & nohup command > log.txt 2>&1 & nohup command > /dev/null 2>&1 & nohup java -jar xxxx.jar > /dev/null 2>&1 &
重点建议 1. 实践为主
购买云服务器进行实际操作
每个命令都亲自尝试
出错是正常的,重要的是理解为什么出错
2. 循序渐进
3. 善用帮助 1 2 3 man 命令 command --help whatis 命令
4. 命令组合
熟练使用管道符 |
掌握重定向符号 > >>
学会使用 && 和 || 连接命令
5. 安全意识
谨慎使用 rm -rf 命令
修改系统文件前做好备份
使用非root用户进行日常操作
定期备份重要数据
6. 效率提升
使用Tab键自动补全
使用历史命令(↑↓方向键)
学习vim或nano编辑器
掌握快捷键(Ctrl+C、Ctrl+Z等)
7. 日志管理 1 2 3 4 tail -f /var/log/messages tail -f /var/log/secure tail -f /var/log/cron