15.1.2.linux常见操作用例

15.1.2.linux常见操作用例
15.1.2.1.系统设置
15.1.2.1.1.设置系统时间

1)查看当前时间:date

2)设定系统时间:sudo date -s "YYYY-MM-DD HH:MM:SS"

4)按增量设定系统时间:sudo date -s "+2 hours"

15.1.2.2.文件与目录操作
15.1.2.2.1.查看目录内容

1)ls -l # 详细列表(权限/大小/时间)

2)ls -a # 显示隐藏文件(如 .bashrc)

3)ls -lh # 人类可读的文件大小(如 KB/MB)

15.1.2.2.2.创建和删除目录

1)mkdir demo # 创建目录

2)touch file.txt # 创建空文件

3)rm file.txt # 删除文件

4)rm -r demo # 递归删除目录**(慎用!)**

15.1.2.2.3.文件复制、移动、命名

1)cp file.txt backup/ # 复制文件到目录

2)mv file.txt new_name.txt # 重命名

3)mv file.txt ~/Documents # 移动文件

15.1.2.2.4.查找文件

1)find /home -name "*.log" # 按名称查找

2)find /var -size +10M # 查找大于10MB的文件

15.1.2.2.5.分割文件

基本语法:split [options] [input_file] [prefix]

1)input_file:需要被分割的文件。如果不指定,split 会从标准输入读取数据。

2)prefix: 输出文件的前缀。分割后的文件会被命名为 prefixaa, prefixab, prefixac 等。

3)options常用选项:

-b SIZE: 按照指定的字节数来分割文件。例如,-b 10M 会将文件按 10MB 来分割。

-l NUM: 按照行数来分割文件。例如,-l 1000 会将文件每1000 行分割一次。

-d: 使用数字后缀而不是字母。

-a LENGTH: 设置输出文件名的后缀长度,默认是 2。

--additional-suffix=SFX: 为每个输出文件附加一个后缀,SFX 是要添加的后缀。

示例:

|----------------------------------------|
| split -b 10M largefile.txt prefix_ |

15.1.2.3.文件内容操作
15.1.2.3.1.查看文件内容

1)cat file.txt # 显示全部内容

2)head -n 5 file.txt # 显示前5行

3)tail -f log.log # 实时追踪日志更新

15.1.2.3.2.文本处理

1)grep "error" log.txt # 搜索包含"error"的行

2)sed 's/foo/bar/g' file.txt # 替换文本中的foo为bar

3)awk '{print $1}' data.txt # 提取第一列数据

15.1.2.3.3.压缩与解压

1)tar -czvf archive.tar.gz dir/ # 压缩目录

2)tar -xzvf archive.tar.gz # 解压

3)zip -r backup.zip dir/ # ZIP压缩

4)unzip backup.zip # ZIP解压

15.1.2.3.4.文件合并

在 Linux 中,合并文件的常用命令是 cat,它可以将多个文件的内容连接起来,并输出到标准输出或其他文件中。以下是常见的文件合并方法:

1**)使用 cat** 命令合并多个文件

假设有两个文件 file1.txt 和 file2.txt,想将它们合并为一个新的文件 merged.txt,可以使用以下命令:

cat file1.txt file2.txt > merged.txt

这个命令将 file1.txt 和 file2.txt 的内容按顺序合并,并将合并后的内容保存到 merged.txt 中。

2**)将文件内容追加到已有文件**

如果想将 file2.txt 的内容追加到 file1.txt 的末尾,可以使用 >>:

cat file2.txt >> file1.txt

3)合并多个文件并分页显示

如果想查看多个文件的合并内容并分页显示,可以结合 cat 和 less 命令:

cat file1.txt file2.txt | less

4)使用 find 和 cat 合并多个文件

如果需要合并符合某些条件的文件(例如,所有 .txt 文件),可以通过 find 命令与 cat 配合使用:

find . -name "*.txt" -exec cat {} + > merged.txt

这将会将当前目录及其子目录下所有 .txt 文件的内容合并到 merged.txt 中。

5**)合并并去重内容(去除重复行)**

如果想在合并文件时去除重复的行,可以使用 sort 和 uniq:

cat file1.txt file2.txt | sort | uniq > merged.txt

这样可以确保合并后的文件不包含重复行。

15.1.2.4.权限与用户管理
15.1.2.4.1.修改文件权限

1)chmod 755 script.sh # 设置权限为rwxr-xr-x

2)chown user:group file # 修改文件所有者

15.1.2.4.2.用户与组操作

1)sudo adduser new_user # 添加用户

2)sudo passwd new_user # 修改密码

3)sudo usermod -aG sudo new_user # 赋予sudo权限

4)groups username # 查看用户所属组

15.1.2.5.系统设置
15.1.2.5.1.查看进程

1)ps aux | grep nginx # 查找nginx进程

2)top # 动态查看资源占用

3)htop # 增强版top(需安装)

15.1.2.5.2.中止进程

1)kill -9 PID # 强制终止进程

2)pkill nginx # 按名称终止

15.1.2.5.3.后台运行

1)nohup ./script.sh & # 后台运行并忽略挂断

2)jobs # 查看后台任务

3)fg %1 # 将任务1切换到前台

15.1.2.6.网络操作
15.1.2.6.1.查看网络信息

1)ifconfig # 查看IP(旧版)

2)ip addr # 新版IP查看

3)ping google.com # 测试连通性

4)netstat -tulnp # 查看监听端口

15.1.2.6.2.远程连接

1)ssh user@192.168.1.100 # SSH远程登录

2)scp file.txt user@host:/path # 远程复制文件

15.1.2.6.3.防火墙管理

1)sudo ufw allow 22 # 开放SSH端口(Ubuntu)

2)sudo firewall-cmd --add-port=80/tcp --permanent # CentOS

3)sudo systemctl restart firewalld

15.1.2.7.包管理(依赖系统)
15.1.2.7.1.Debian/Ubuntu (APT)

1)sudo apt update # 更新软件列表

2)sudo apt install nginx # 安装软件

3)sudo apt remove nginx # 卸载

15.1.2.7.2.CentOS/RHEL (YUM/DNF)

1)sudo yum install httpd # 安装

2)sudo dnf remove httpd # 卸载(CentOS 8+)

15.1.2.7.3.Arch Linux (Pacman)

1)sudo pacman -Syu # 更新系统

2)sudo pacman -S vim # 安装

15.1.2.8.磁盘管理
15.1.2.8.1.查看磁盘空间

1)df -h # 查看磁盘使用情况

2)du -sh /var/log # 查看目录大小

15.1.2.8.1.2.挂载磁盘

1)sudo mount /dev/sdb1 /mnt/data # 挂载

2)sudo umount /mnt/data # 卸载

15.1.2.9.定时任务

crontab -e # 编辑定时任务

示例:每天凌晨备份

0 0 * * * /path/to/backup.sh

15.1.2.10.Shell快捷操作

1)!! # 重复上一条命令

2)!$ # 上一条命令的最后一个参数

3)Ctrl + R # 搜索历史命令

4)Ctrl + C # 终止当前命令

15.1.2.11.系统服务管理(Systemd)

1)sudo systemctl start nginx # 启动服务

2)sudo systemctl enable nginx # 开机自启

3)sudo journalctl -u nginx # 查看日志

4)shutdown -r now

#-r表示重启(reboot),now表示立即执行。这是标准的重启命令。

5)halt

该命令的作用是停止系统运行并关闭电源(相当于关机),不会触发重启。虽然某些系统可能通过配置关联到重启,但默认行为是关机。

6)reboot

直接调用系统重启功能,等同于shutdown -r now。

7)init 6

通过切换系统运行级别(runlevel)到6,表示重启。这是传统的SysV初始化系统的重启方式,在大多数Linux发行版中仍兼容。

15.1.2.12.查询历史命令

history | grep 关键字

相关推荐
一叶之秋14122 分钟前
深入理解 Linux 环境变量与进程地址空间布局
linux·服务器
视觉震撼10 分钟前
本地机器远程连接配置与文件传输可行性检测工具
运维·服务器·网络·windows·php·apache
yuanManGan11 分钟前
走进Linux的世界:虚拟内存空间
linux·运维·服务器
落羽的落羽15 分钟前
【Linux系统】解明进程优先级与切换调度O(1)算法
linux·服务器·c++·人工智能·学习·算法·机器学习
代码游侠35 分钟前
复习笔记——C语言指针
linux·c语言·开发语言·笔记·学习
百***69441 小时前
Linux下MySQL的简单使用
linux·mysql·adb
飞凌嵌入式2 小时前
飞凌嵌入式RK3568开发板的TFTP烧写文件系统指南
linux·嵌入式硬件·嵌入式
❀͜͡傀儡师2 小时前
修改centos服务器启动画面
linux·服务器·centos
倔强的石头1065 小时前
openGauss数据库:从CentOS 7.9部署到实战验证
linux·数据库·centos
梁正雄6 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享 - 容器单机版
linux·nginx·tomcat