萱仔求职复习系列——2 Linux的常用方法(包含基础进阶高级操作)

news2024/10/11 8:15:22

由于最近接了一个笔试,发现笔试可能涉及到Linux,我准备临时抱佛脚一下赶紧复习一下Linux的用法哈哈。Linux 的基础用法包含文件系统操作、权限管理、网络配置、进程管理等基本命令;进阶操作包括网络调试、包管理、服务管理和用户管理等;高级操作则涵盖 Shell 脚本编程、计划任务设置、文件系统管理以及日志分析等功能。

一、基础命令

# 文件和目录操作
cd <directory>    # 进入指定目录
cd ..             # 返回上一级目录
cd ~              # 返回 home 目录
pwd               # 显示当前目录路径

ls                # 列出当前目录下的文件和目录
ls -l             # 列出详细信息(权限、拥有者、大小、修改时间等)
ls -a             # 列出所有文件,包括隐藏文件

touch <filename>    # 创建一个空文件
cp <source> <dest>  # 复制文件
mv <source> <dest>  # 移动或重命名文件
rm <filename>       # 删除文件
rm -r <directory>   # 递归删除目录
cat <filename>      # 查看文件内容

chmod 755 <file>    # 修改文件权限,rwx(读写执行)权限
chown <user>:<group> <file>   # 修改文件所属用户和用户组

# 系统状态查看
uname -a          # 查看内核版本及系统信息
df -h             # 查看磁盘使用情况
free -h           # 查看内存使用情况
uptime            # 查看系统运行时间及负载

# 查看进程
ps aux            # 查看所有运行的进程
top               # 实时显示系统资源占用情况
kill <PID>        # 结束指定进程(PID为进程号)

# 压缩与解压缩
tar -cvf archive.tar file1 file2    # 创建tar压缩包
gzip file                           # 压缩为.gz文件
tar -czvf archive.tar.gz directory   # 创建.tar.gz压缩包

tar -xvf archive.tar                # 解压tar包
tar -xzvf archive.tar.gz            # 解压tar.gz包
unzip file.zip                      # 解压.zip文件

 

cd:改变目录。cd <目录>进入某个目录,cd ..返回上一级目录,cd ~返回用户的 home 目录。

pwd:打印当前工作目录的路径。

二、进阶操作
# 网络配置与工具使用
ifconfig         # 查看网络接口配置(常用命令)
ip addr show     # 查看网络接口信息(推荐新版本)
ping <host>      # 测试与目标主机的连通性
netstat -tuln    # 查看当前监听的端口

ssh user@hostname    # 使用 SSH 远程登录到指定主机
scp <file> user@hostname:/path    # 使用 SCP 复制文件到远程主机

# 包管理器使用(以 Ubuntu/Debian 为例)
sudo apt update                    # 更新软件包列表
sudo apt upgrade                   # 升级系统中的软件
sudo apt install <package_name>    # 安装软件包
sudo apt remove <package_name>     # 移除软件包
sudo apt autoremove                # 自动清除无用的软件包

# 权限与用户管理
sudo adduser <username>        # 添加用户
sudo passwd <username>         # 设置或修改用户密码
sudo usermod -aG <group> <user>    # 添加用户到组
sudo deluser <username>        # 删除用户

su <username>     # 切换到指定用户(需要该用户的密码)
sudo -i           # 以root用户身份登录
exit              # 退出当前用户会话

# 服务与进程管理
systemctl status <service>    # 查看某个服务的状态
systemctl start <service>     # 启动服务
systemctl stop <service>      # 停止服务
systemctl restart <service>   # 重启服务

ps aux                         # 查看所有进程
kill -9 <PID>                  # 强制结束某个进程
top                            # 实时查看系统资源占用
htop                           # 交互式查看进程状态(需要先安装)

三、高级操作

# Shell 编程与脚本
nano script.sh                   # 使用nano编辑器创建脚本文件
#!/bin/bash                       # 脚本头,指定脚本解释器
echo "Hello, Linux"               # 脚本内容

chmod +x script.sh                # 赋予执行权限
./script.sh                       # 运行脚本

# 变量与控制结构
name="John"
echo "Hello, $name"

if [ $name == "John" ]; then
    echo "It's John"
fi

for i in {1..5}; do
    echo "Iteration $i"
done

# 定时任务与计划任务(Cron Jobs)
crontab -e    # 编辑当前用户的定时任务列表

# Cron表达式格式
# 分 时 日 月 周 命令
# 示例:每天上午6点执行脚本
0 6 * * * /path/to/script.sh

# 文件系统管理
sudo mount /dev/sda1 /mnt    # 将/dev/sda1分区挂载到/mnt目录
sudo fdisk -l                # 列出所有磁盘的分区信息
df -h                        # 查看已挂载文件系统的使用情况

# 日志管理与分析
cat /var/log/syslog           # 查看系统日志
tail -f /var/log/syslog       # 动态查看日志的最新变化

分类总结!

touch filename.txt  # 创建空文件
mkdir dirname        # 创建新目录

---------------------------------------
# 1.2 查看文件和目录
ls -l                # 列出详细信息
ls -a                # 包括隐藏文件
cat filename.txt     # 查看文件内容
less filename.txt    # 分页查看文件内容

#输出示例

$ ls -l
total 0
-rw-r--r-- 1 user user 0 Oct 11 10:00 filename.txt

$ ls -a
.  ..  filename.txt

$ cat filename.txt
# (假设文件为空)
# (没有输出)

$ less filename.txt
# (文件内容分页显示)

--------------------------------
1.3 复制、移动和删除
cp source.txt destination.txt  # 复制文件
cp -r sourcedir/ destdir/      # 递归复制目录
mv oldname.txt newname.txt     # 移动或重命名文件
mv file.txt /path/to/newdir/   # 移动文件
rm filename.txt                  # 删除文件
rm -r dirname/                   # 递归删除目录
chmod 755 filename.txt          # 更改文件权限
chown user:group filename.txt   # 更改文件所有者
grep "search_term" filename.txt  # 搜索文本
find /path/to/search -name "filename.txt"  # 查找文件
wc filename.txt                   # 计算行数、字数和字节数
du -sh dirname/                   # 查看目录大小
sort filename.txt                 # 对文件内容进行排序
awk '{print $1}' filename.txt     # 打印第一列
sed 's/old/new/g' filename.txt    # 替换文本


#输出示例
$ grep "search_term" filename.txt
# (匹配行内容,假设没有匹配)
# (没有输出)

$ find /path/to/search -name "filename.txt"
# 输出文件路径,比如:
/path/to/search/filename.txt

$ wc filename.txt
# 输出
 0 0 0 filename.txt  # 行数、字数、字节数

$ du -sh dirname/
# 输出
12K	dirname/

$ sort filename.txt
# (文件内容按行排序输出)

$ awk '{print $1}' filename.txt
# (打印文件第一列内容)

$ sed 's/old/new/g' filename.txt
# (输出替换后的内容)
#4 系统管理
uname -a                          # 显示系统信息
top                               # 实时查看系统进程
htop                              # 增强版的 top(需额外安装)
df -h                             # 查看磁盘空间使用情况
du -sh dirname/                   # 查看目录大小
free -h                           # 查看内存使用情况
----------------------------------------------
$ uname -a
Linux hostname 5.4.0-58-generic #64-Ubuntu SMP Tue Oct 13 12:59:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G   12G   17G  43% /

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7Gi       1.5Gi       4.3Gi       211Mi       1.8Gi       5.7Gi
Swap:          2.0Gi          0B       2.0Gi

 

ifconfig                          # 查看网络接口(较老命令)
ip addr show                      # 现代网络管理命令
ping google.com                   # 检查网络连通性
traceroute google.com             # 跟踪数据包路径
nslookup google.com               # 查询 DNS 记录
curl -O http://example.com/file.txt  # 下载文件

---------------------------------------
$ ifconfig
# 输出网络接口信息,比如:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.2  netmask 255.255.255.0  broadcast 192.168.0.255
        ...

$ ip addr show
# 输出网络接口信息,类似于 ifconfig,但更详细

$ ping google.com
PING google.com (172.217.0.46) 56(84) bytes of data.
64 bytes from lga34s12-in-f14.1e100.net: icmp_seq=1 ttl=116 time=9.80 ms

$ traceroute google.com
traceroute to google.com (172.217.0.46), 30 hops max, 60 byte packets
 1  192.168.0.1  1.154 ms  1.382 ms  1.479 ms
 2  10.0.0.1  2.689 ms  2.710 ms  2.799 ms
 3  ...

$ nslookup google.com
Server:		8.8.8.8
Address:		8.8.8.8#53

Non-authoritative answer:
Name:	google.com
Address:	172.217.0.46

$ curl -O http://example.com/file.txt
# (下载文件,假设文件下载成功)
sudo useradd username             # 添加新用户
passwd username                   # 更改用户密码
sudo groupadd groupname           # 添加新组
usermod -aG groupname username    # 将用户添加到组
tar -cvf archive.tar dirname/     # 创建 tar 归档
tar -xvf archive.tar               # 解压 tar 归档
gzip filename.txt                  # 压缩文件
gunzip filename.txt.gz             # 解压缩文件

----------------------------------
$ tar -cvf archive.tar dirname/
dirname/
dirname/file1
dirname/file2

$ tar -xvf archive.tar
# 输出解压缩的文件
dirname/
dirname/file1
dirname/file2

$ gzip filename.txt
# (压缩成功,filename.txt.gz 被创建)

$ gunzip filename.txt.gz
# (解压缩成功,filename.txt 被恢复)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2204537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【jdk19虚拟线程 VS 普通线程】

文章目录 一.什么是虚拟线程二.虚拟线程与普通线程的区别1.普通线程2.虚拟线程3. 实际应用中的区别 三.上demo对比性能。1.线程池配置2.Service实现3.测试结果 四.小结 一.什么是虚拟线程 虚拟线程&#xff0c;也称作轻量级线程&#xff0c;是由JVM直接管理的线程类型&#xf…

jmeter入门:脚本录制

1.设置代理。 网络连接-》代理-》手动设置代理. ip&#xff1a; 127.0.0.1&#xff0c; port&#xff1a;8888 2. add thread group 3. add HTTP(s) test script recorder, target controller chooses Test plan-> thread Group 4. click start. then open the browser …

Golang | Leetcode Golang题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; func findSubstringInWraproundString(p string) (ans int) {dp : [26]int{}k : 0for i, ch : range p {if i > 0 && (byte(ch)-p[i-1]26)%26 1 { // 字符之差为 1 或 -25k} else {k 1}dp[ch-a] max(dp[ch-a], k)}for _, v :…

Java主流框架项目实战——SpringBoot入门

单元1-1 1&#xff09; IDEA工具安装好 2&#xff09; Maven安装&#xff0c;配置好 IDEA安装及永久试用 配置maven 单元1-2 使用aliyun(https://start.aliyun.com/)创建一个spring boot项目&#xff0c;hello world&#xff01; 构建项目 1&#xff09;构建项目 直接默认…

MicroFlow:一种高效的基于Rust的TinyML推理引擎

英文论文标题&#xff1a;MICROFLOW: AN EFFICIENT RUST-BASED INFERENCE ENGINE FOR TINYML 中文论文标题&#xff1a;MicroFlow&#xff1a;一种高效的基于Rust的TinyML推理引擎 作者信息&#xff1a; Matteo Carnelos&#xff0c;意大利帕多瓦大学&#xff0c;Grepit AB,…

什么软件可以晚上睡觉录音

什么软件可以晚上睡觉录音&#xff0c;在日常生活中&#xff0c;我们常常忽略夜间的声音&#xff0c;然而这些声音有时可能会揭示重要信息&#xff0c;比如打鼾情况、说梦话、甚至是潜在的睡眠问题。因此&#xff0c;一款适合夜间录音的软件对于关注健康及生活细节的人来说至关…

在IDEA中配置Selenium和WebDriver

前言&#xff1a; 在当今自动化测试和网络爬虫的领域&#xff0c;Selenium是一个被广泛使用的工具。它不仅能够模拟用户与浏览器的交互&#xff0c;还能进行网页测试和数据抓取。而为了使用Selenium与谷歌/Edge浏览器进行自动化测试&#xff0c;配置合适的WebDriver至关重要。本…

【时时三省】(C语言基础)指针笔试题8

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 笔试题8 c是个数组 它的每个元素是char* 它初始化了四个字符串 把这四个字符串的首字符的地址 传到了c里面 cp有四个元素 每个元素的类型是char** 所以c3指向FORST c2指向POINT c1指向NE…

数学建模算法与应用 第9章 支持向量机及其方法

目录 9.1 支持向量机的基本原理 核函数的种类&#xff1a; 9.2 支持向量机的Matlab命令及应用 Matlab代码示例&#xff1a;二分类支持向量机 9.3 乳腺癌的诊断案例 Matlab代码示例&#xff1a;乳腺癌数据分类 9.4 支持向量回归&#xff08;SVR&#xff09; Matlab代码示…

uibot发送邮件:自动化邮件发送教程详解!

uibot发送邮件的操作指南&#xff1f;uibot发送邮件的两种方式&#xff1f; 在现代办公环境中&#xff0c;自动化流程的引入极大地提高了工作效率。uibot发送邮件功能成为了许多企业和个人实现邮件自动化发送的首选工具。AokSend将详细介绍如何使用uibot发送邮件。 uibot发送…

【AIGC】寻找ChatGPT最佳推理步骤:CoT思维链技术的探索与应用

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;CoT思维链概述&#x1f4af;CoT思维链在大型语言模型中的应用&#x1f4af;CoT思维链改变对模型推理能力的理解和改进方式多样化应用场景挑战与未来发展总结 &#x1f4a…

鸿蒙NEXT开发-动画(基于最新api12稳定版)

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

用FPGA做一个全画幅无反相机

做一个 FPGA 驱动的全画幅无反光镜数码相机是不是觉得很酷&#xff1f; 就是上图这样。 Sitina 一款开源 35 毫米全画幅 (3624 毫米) CCD 无反光镜可换镜头相机 (MILC)&#xff0c;这个项目最初的目标是打造一款数码相机&#xff0c;将 SLR [单镜头反光] 相机转换为 DSLR [数码…

探索Semantic Kernel:开启AI编程新篇章(入门篇)

文章目录 一、引言二、什么是Semantic Kernel&#xff1f;三、为什么选择Semantic Kernel&#xff1f;四、Semantic Kernel的核心特性4.1企业级4.2 自动化业务流程4.3 模块化和可扩展性 五、Semantic Kernel入门5.1 安装SDK5.2 编写控制台应用1. 配置2.实例3.示例一&#xff1a…

【漏洞复现】某知识付费纯净发卡小程序系统存在SQL注入漏洞

漏洞描述 知识吾爱纯净版小程序源码,附详细视频+文字教程【小白可0基础搭建】跟随教程步骤即可简单搭建属于自己的知识付费小程序,实现支付变现+流量主收益,快速建立自己的IP知识付费小程序源码包括以下功能:会员管理:支持用户注册、登录、个人信息管理等功能,以及会员等…

《系统架构设计师教程(第2版)》第18章-安全架构设计理论与实践-01-安全架构概述

文章目录 1. 信息安全面临的威胁2. 安全架构的定义和范围2.1 安全架构的概念2.2 安全架构的范围2.3 安全架构应具备的特性2.4 安全技术2.5 过程 3. 与信息安全相关的国内外标3.1 国外标准3.2 国内标准3.2.1 标准缩写含义3.2.2 主要技术标准1&#xff09;国家标准2&#xff09;特…

安全网络架构

网络安全解决方案是指通过一系列技术和措施来保护网络系统和数据的安全。它涉及多个方面&#xff0c;包括网络设备的防护、数据的加密和备份、安全策略的制定和执行等。以下是一些常见的网络安全解决方案&#xff1a; 防火墙&#xff1a;防火墙是一种硬件或软件设备&#xff0c…

怎么将视频原声提出来?视频原声提取,让创作更自由

在数字媒体时代&#xff0c;视频已成为我们日常生活和工作中不可或缺的一部分。有时&#xff0c;我们可能想要提取视频中的音频部分&#xff0c;无论是为了制作音频素材、学习语言&#xff0c;还是为了其他创意用途。那么&#xff0c;怎么将视频原声提出来呢&#xff1f;本文将…

ChatTTS 本地安装和测试

Ubuntu 22服务器&#xff0c;3.9/3.10都可以&#xff0c;但是 3.11不可以 sudo apt install python3.10 apt install python3.10 python3.10-dev #ubuntu 22 安装python3.10对应的pip3.10 # 下载 get-pip.py curl -sS https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 使…

小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(初级)

前言 哈喽哈喽友友们,这里是zyll~(小北)智慧龙阁的创始人及核心技术开发者。在技术的广阔天地里,我专注于大数据与全栈开发,并致力于成为这一领域的新锐力量。通过智慧龙阁这个平台,我期望能与大家分享我的技术心得,共同探索技术的无限可能。 Ascend C编程:小北的技术…