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

由于最近接了一个笔试,发现笔试可能涉及到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" ]; thenecho "It's John"
fifor i in {1..5}; doecho "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 -htotal        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 1500inet 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 packets1  192.168.0.1  1.154 ms  1.382 ms  1.479 ms2  10.0.0.1  2.689 ms  2.710 ms  2.799 ms3  ...$ nslookup google.com
Server:		8.8.8.8
Address:		8.8.8.8#53Non-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.rhkb.cn/news/446571.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5学习笔记24-添加武器弹药

一、给角色的武器添加弹药 1.创建界面&#xff0c;根据笔记23的界面中添加 2.绑定界面控件 UPROPERTY(meta (Bindwidget))UTextBlock* WeaponAmmoAmount;UPROPERTY(meta (Bindwidget))UTextBlock* CarriedAmmoAmount; 3.添加武器类型枚举 3.1创建武器类型枚举头文件 3.2创建文…

【论文解读系列】EdgeNAT: 高效边缘检测的 Transformer

代码&#xff1a; https://github.com/jhjie/edgenat 论文&#xff1a; https://arxiv.org/abs/2408.10527v1 论文 EdgeNAT: Transformer for Efficient Edge Detection 介绍了一种名为EdgeNAT的基于Transformer的边缘检测方法。 1. 背景与动机 EdgeNAT预测结果示例。(a, b)…

软考《信息系统运行管理员》- 4.1信息系统软件运维概述

4.1信息系统软件运维概述 文章目录 4.1信息系统软件运维概述信息系统软件运维的概念信息系统软件的可维护性及维护类型对软件可维护性的度量可以从以下几个方面进行&#xff1a;软件维护分类&#xff1a; 信息系统软件运维的体系1.**需求驱动**2.**运维流程**3.**运维过程**4.*…

LabVIEW提高开发效率技巧----事件触发模式

事件触发模式在LabVIEW开发中是一种常见且有效的编程方法&#xff0c;适用于需要动态响应外部或内部信号的场景。通过事件结构&#xff08;Event Structure&#xff09;和用户自定义事件&#xff08;User Events&#xff09;&#xff0c;开发者可以设计出高效的事件驱动程序&am…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

opencascade鼠标拖拽框选功能

1.首先在OccView中添加用于显示矩形框的类 //! rubber rectangle for the mouse selection.Handle(AIS_RubberBand) mRectBand; 2.设置框选的属性 mRectBand new AIS_RubberBand(); //设置属性 mRectBand->SetLineType(Aspect_TOL_SOLID); //设置变宽线型为实线 mRe…

day11-SpringMVC

一、SpringMVC 1.SpringMVC流程分析 2.各种注解 3.接收请求参数 3.1 简单类型 3.2 对象类型 3.3 数组类型 3.4 集合类型 3.5 日期类型 3.6 json参数类型 3.7 路径参数 二、统一异常处理 三、Restful

tensorflow入门案例手写数字识别人工智能界的helloworld项目落地1

参考 https://tensorflow.google.cn/?hlzh-cn https://tensorflow.google.cn/tutorials/keras/classification?hlzh-cn 项目资源 https://download.csdn.net/download/AnalogElectronic/89872174 文章目录 一、案例学习1、导入测试和训练数据集&#xff0c;定义模型&#xff…

Unreal5从入门到精通之 如何使用事件分发器EventDispather

文章目录 前言1.创建事件分发器设置属性2.创建Bind、Unbind及Unbind All节点在蓝图类中创建在关卡蓝图中创建3.创建事件分发器事件节点4.调用事件分发器在蓝图类中进行调用在关卡蓝图中进行调用前言 事件分发器是 Unreal Engine(UE)中一个重要的概念,它负责在游戏运行时管理…

超GPT3.5性能,无限长文本,超强RAG三件套,MiniCPM3-4B模型分享

MiniCPM3-4B是由面壁智能与清华大学自然语言处理实验室合作开发的一款高性能端侧AI模型&#xff0c;它是MiniCPM系列的第三代产品&#xff0c;具有4亿参数量。 MiniCPM3-4B模型在性能上超过了Phi-3.5-mini-Instruct和GPT-3.5-Turbo-0125&#xff0c;并且与多款70亿至90亿参数的…

基于socket实现客户端与服务器之间TCP通信

我们在算法部署时&#xff0c;通常需要进行算法端与其他服务端的通信&#xff0c;要么接受指令、要么是需要上传算法结果&#xff1b;除了我们常用的gRPC、HTTP、MQ等方式&#xff0c;还可以利用TCP来实现可靠通信&#xff1b;本次我们利用socket来展示如何进行两端的TCP通信。…

SAP SD学习笔记10 - SD出荷传票1 在库转送Order - 补充出荷 详解

上一章学习了受注传票中的不完全Log和Business Partner&#xff08;取引先机能&#xff09;的知识。 SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能&#xff09;-CSDN博客 本章继续学习SD的内容。 - 在库转送Order - 补充出荷 目录 1&#xff0…

HCIP-HarmonyOS Application Developer 习题(九)

(多选) 1、HarmonyOS多窗口交互能力提供了以下哪几种交互方式&#xff1f; A. 全局消息通知 B.平行视界 C.悬浮窗 D.分屏 答案&#xff1a;BCD 分析&#xff1a;系统提供了悬浮窗、分屏、平行视界三种多窗口交互&#xff0c;为用户在大屏幕设备上的多任务并行、便捷的临时任务…

集合框架07:LinkedList使用

1.视频链接&#xff1a;13.14 LinkedList使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p142.LinkedList集合的增删改查操作 package com.yundait.Demo01;im…

CSS @规则(At-rules)系列详解___@charset规则使用方法

CSS 规则(At-rules)系列详解 ___charset规则使用方法 本篇目录&#xff1a; 零、时光宝盒 一、charset规则定义和用法 二、CSS charset语法 三、charset 使用方法例子 1、正确使用方法 2、无效的&#xff0c;错误的使用方法 零、时光宝盒 &#xff08;https://blog.csd…

Android ViewModel

一问&#xff1a;ViewModel如何保证应用配置变化后能够自动继续存在&#xff0c;其原理是什么&#xff0c;ViewModel的生命周期和谁绑定的? ViewModel 的确能够在应用配置发生变化&#xff08;例如屏幕旋转&#xff09;后继续存在&#xff0c;这得益于 Android 系统的 ViewMod…

快速解决urllib3.exceptions.MaxRetryError: HTTPSConnectionPool

正题 使用pip命令查看urllib3版本 pip list发现版本为 1.26.9 urllib3 v1.26.9此时如下报错&#xff0c;无法正常使用&#xff08;使用了代理&#xff09; urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(hostxxx.xxxxx.com, port443): Max retries exceeded wit…

神经网络模型的“扩散与进化”思想启迪

在上一篇笔记「上交大全华班复现o1旅程式学习下的深思考」中&#xff0c;其中对于上交大提出的旅程学习即system2慢思考认知范式下对于“多步骤的隐式到显式空间状态映射下的细粒度联合概率分布建模”的描述隐喻为“社会心理学或社会经济学两种不同的长程动态系统慢演化现象”。…

AI+视频监控:EasyCVR安防平台赋能火电制造行业的视频智能管理方案

随着信息技术的飞速发展和智能制造的深入推进&#xff0c;火电制造行业作为国民经济的重要组成部分&#xff0c;正面临着智能化转型的迫切需求。为了提升生产效率、保障设备安全、优化管理流程&#xff0c;火电制造企业迫切需要引入先进的视频监控与人工智能技术。EasyCVR安防监…

如何获取 uni-app 应用发布所需的证书、私钥与配置文件

引言 在开发和发布iOS应用时&#xff0c;开发者常常会面临一系列复杂的证书、私钥密码以及配置文件的管理问题。这些配置不仅影响到应用的开发调试&#xff0c;还决定了应用是否能够顺利通过审核并发布到App Store。对于使用uni-app进行开发的开发者来说&#xff0c;自动生成的…