目录
一,Linux简介
windows的问题:收费,系统长时间运行不稳定
Linux的优点:开源免费,运行稳定,不会变慢,不容易死机
因此:做为一个后端JavaEE程序员,在windows中开发完程序后,得部署到一个相对比较安全稳定的服务器中运行,Linux就是最佳的选择
学习Linux, 我们得学会:对目录,文件基本操作命令
由于linux的开源精神,使得其版本众多,发展到今天,主要有三大分支:
-
Redhat: 应用最为广泛的服务器版本, 包含:
redhat、centos
、Fedora -
debian: 有着媲美windows的桌面环境,包含:
Ubuntu
、Linux Mint -
suse: 主要用于商业桌面、服务器,包含:SLES、OpenSUSE
二,文件系统
目录结构
/: 根目录
/bin: 包含基本的用户命令
/boot: 存放启动时需要的文件
/dev: 包含设备文件
/etc: 配置文件存放位置
/home: 用户家目录
/lib: 动态链接库存放位置
/media: 用于挂载外部媒体
/mnt: 临时挂载点
/opt: 可选应用程序包的安装位置
/proc: 进程信息虚拟文件系统
/root: root用户的家目录
/run: 用于存储运行时数据
/sbin: 系统管理员使用的命令
/srv: 服务数据存放位置
/sys: 系统信息虚拟文件系统
/tmp: 临时文件存放位置
/usr: 用户程序存放位置
/var: 变量数据存放位置
三,命令行操作
文件和目录操作
- ls: 列出目录内容。ls -l 显示详细信息。
ls # 列出当前目录的内容 ls -l # 列出当前目录的内容,并显示详细信息 ls -al # 列出当前目录的所有文件,包括隐藏文件
- cd: 改变当前目录。cd .. 返回上一级目录。
cd /path/to/directory # 切换到指定目录 cd .. # 返回上一级目录 cd ~ # 回到用户家目录
- pwd: 显示当前工作目录。
pwd # 显示当前工作目录
- mkdir: 创建目录。mkdir -p /path/to/directory 可以创建多级目录。
mkdir directory # 创建一个名为 directory 的目录 mkdir -p /path/to/directory # 创建多级目录
- rmdir: 删除空目录。rmdir dir。
rmdir directory # 删除一个空目录
- rm: 删除文件或目录。rm -rf directory 可以递归删除目录。
rm file # 删除一个文件 rm -r directory # 递归删除一个目录及其内容
- cp: 复制文件或目录。cp -r src dst 递归复制目录。
cp source destination # 复制文件或目录 cp -r source destination # 递归复制目录
- mv: 移动或重命名文件。mv oldname newname。
mv oldname newname # 重命名文件 mv source destination # 移动文件或目录
- touch: 创建空文件或更新文件时间戳。
touch file # 创建一个空文件 touch -a file # 更新文件的时间戳
权限和用户管理
- chmod: 修改文件权限。chmod u+x file 给文件所有者添加执行权限。
chmod u+x file # 给文件所有者添加执行权限 chmod g+w file # 给文件所属组添加写权限 chmod o-r file # 移除其他用户的读权限 chmod 755 file # 设置权限为所有者可读写执行,组用户和其他用户只读执行
- chown: 改变文件所有者。chown user:group file。
chown user:group file # 改变文件的所有者和所属组 chown user file # 只改变文件的所有者
- chgrp: 改变文件所属组。
chgrp group file # 改变文件所属组
- su: 切换用户。su - username 切换到指定用户并加载环境变量。
su - username # 切换到指定用户并加载环境变量 su # 切换到 root 用户
- sudo: 以管理员身份执行命令。sudo command。
sudo command # 以管理员身份执行命令
进程管理
- ps: 查看进程状态。ps aux 显示所有进程。
ps aux # 显示所有进程 ps -ef # 显示所有进程(详细)
- top: 动态查看系统资源使用情况。
top # 动态显示系统资源使用情况
- kill: 发送信号给进程。kill PID 发送终止信号。
kill PID # 发送终止信号 kill -9 PID # 强制终止进程
- nohup: 在后台运行命令,并忽略挂断信号。
nohup command & # 在后台运行命令,并忽略挂断信号
- &: 将命令放入后台运行。
command & # 将命令放入后台运行
系统信息
- uname: 显示系统信息。uname -a 显示详细信息。
uname -a # 显示详细系统信息
- who: 显示当前登录用户。
who # 显示当前登录用户
- uptime: 显示系统运行时间。
who # 显示当前登录用户
- free: 显示内存使用情况。
free -m # 显示内存使用情况(以 MB 为单位)
- df: 显示磁盘空间使用情况。
df -h # 显示磁盘空间使用情况(以人类可读形式)
- du: 显示目录或文件占用的空间大小。
du -sh directory # 显示目录或文件占用的空间大小(以人类可读形式)
文本处理
- grep: 在文件中搜索模式。grep pattern file。
grep pattern file # 在文件中搜索模式 grep -i pattern file # 忽略大小写搜索模式
- awk: 强大的文本处理工具。
awk '{print $1}' file # 打印每一行的第一个字段 awk 'NR % 2 == 0 {print $0}' file # 打印偶数行
- sed: 流编辑器,用于文本转换。
sed 's/pattern/replacement/g' file # 替换文件中的模式 sed '/pattern/d' file # 删除包含模式的行
- sort: 排序文件内容。
sort file # 排序文件内容 sort -u file # 去重后排序文件内容
- uniq: 去除重复行。
uniq file # 去除重复行 uniq -c file # 统计每行出现次数
- cut: 分割文件内容。
cut -d ':' -f 1,3 file # 以冒号为分隔符,提取第一和第三个字段
软件包管理
Debian/Ubuntu
- apt-get: 软件包管理工具。
sudo apt-get update # 更新软件包列表 sudo apt-get upgrade # 升级已安装软件包 sudo apt-get install package # 安装软件包 sudo apt-get remove package # 卸载软件包
Red Hat/CentOS/Fedora
- yum: 软件包管理工具。
sudo yum update # 更新软件包 sudo yum install package # 安装软件包 sudo yum remove package # 卸载软件包
- dnf: 新一代的软件包管理工具,替代了 yum。
sudo dnf update # 更新软件包 sudo dnf install package # 安装软件包 sudo dnf remove package # 卸载软件包
日志文件
- /var/log/syslog: 系统日志。
tail -f /var/log/syslog # 实时查看日志更新
- /var/log/auth.log: 认证日志。
tail -n 10 /var/log/auth.log # 查看最后 10 行
- /var/log/dmesg: 内核消息。
dmesg | grep error # 查找内核错误
使用 tail -f /var/log/syslog 实时查看日志更新。
SSH (Secure Shell)
- ssh: 远程登录。
ssh username@hostname # 远程登录到其他机器
- scp: 安全拷贝文件。
ssh username@hostname # 远程登录到其他机器
- sftp: 安全文件传输协议。
sftp username@hostname # 安全文件传输协议