Linux常用命令学习总结

news2024/12/24 0:27:11

Linux命令分类

    • 1. Linux目录操作命令
    • 2. Linux文件名称
    • 3. Linux磁盘命令
    • 4. Linux进程与防火墙
    • 5. Linux用户与组的关系
    • 6. Linux权限操作(chmod命令)
    • 7. Linux中的文件类型
      • 文件的寻找

最近系统地学习下Linux命令的使用,因此作如下记录,以便随时复习和翻阅。
在这里插入图片描述

1. Linux目录操作命令

ls -al   # 查看目录文件,a表示查看该文件夹下的全部文件,l表示以长格式展示文件详细信息
tree     # 以层次的形式显示目录结构

cd xx    # 进入xx目录
cd ..    # 表示切换到上一层目录
cd ~     # 切换到home目录,即/home/xxx
pwd      # 查看当前所在目录路径

mkdir xx # 创建一个目录
mkdir -p xxx/yyy/zzz  # 递归创建目录
rmdir xxx  # 删除指定目录(必须为空目录)
rm -rf xxx  # 删除非空目录(-r 表示递归删除,-f表示是否给出提示信息)

2. Linux文件名称

touch test.txt   # 创建名字为test.txt的空文件

vi test.txt      # 进入test.txt进行编辑
cat test.txt     # 查看test.txt文件的内容(相当于直接print在终端了)
# -c:表示统计文件的字节数chars, -l:表示统计文件的行数lines,-w:表示文件的字数words
wc -clw test.txt 
# 注意结果输出格式为:行数:单词数:字节数:文件名

cp file1 file2   # 复制文件 (file2可以包含路径,否则为当前目录, 文件类型可以不一致)
cp -r dir1/  dir2     # 将整个dir1目录下的子目录和子文件一起复制dir2下 (dir2下会有dir1目录)
mv test.txt test1.txt  # 移动文件且重命名,test为原文件名,test1为新文件名

# 压缩文件,
# -c表示创建压缩包,-z表示使用gzip压缩文件,-v表示操作过程,-f表示指定的被压缩文件
tar -czvf cxk.tar.gz cxk   # 将cxk目录打包并压缩成cxh.tar.gz
tar -xzvf test.gz          # 解压文件,-x表示从压缩包提取文件

rm -rf xxx # 删除文件,-f表示是否弹出提示信息,-r表示递归删除

3. Linux磁盘命令

df -h        # 查看磁盘可用空间,并用MB,G等单位来美化原来的KB(仅使用df)
df -aT       # 磁盘空间占用,-a:列出全部文件系统, -T表示显示文件
du -sh       # 统计当前目录占用磁盘的空间大小
sudo fdisk -l     # fdisk用来进行磁盘区分(这里表示查看当前系统的分区情况)

mount           # 查看当前已挂载的文件系统
mount /xx/x  /yy/y  # 挂载文件系统到指定目录
umount /yy/y    # 卸载文件系统

cat /etc/fstab    # 查看当前系统自动挂载的分区
mkfs.fstype   # 格式化分区,例如mkfs.ext4
# swap 在内存不够的时候,可以充当内存
mkswap        # 创建swap分区,通过swapon生效
free -h       # 查看swap使用情况
#

4. Linux进程与防火墙

# pgrep  ==  ps -e | grep xxx
ps -ef          # 查看全部进程,(-e表示全部进程,-f表示显示详细信息)
pgrep -l xxx   # 查看进程信息,(-l表示显示进程名称和pid号,xxx为进程名)
kill -9 xxx    # 终止进程,(xxx为进程pid,如2174)

systemctl status firewalld    # 查看防火墙状态
systemctl stop firewalld      # 关闭防火墙
systemctl start firewalld     # 启动防火墙

5. Linux用户与组的关系

groupadd tom           # 创建组
cat /etc/group        # 查看组信息,即所有的组都在这里面查看
groupdel tom           # 删除组

useradd cxk -u uid -g qa   # 添加用户 cxk为用户名, -u表示指定UID, -g指定组GID    
passwd  cxk          		 # 设置密码
cat /etc/passwd       		 # 查看用户信息,即所有的用户信息都在这里面查看
userdel cxk         		 # 删除用户

这里有点迷惑,接下来对组和用户的相关命令进行操作测试。

  • cat /etc/group:查看group情况
    在这里插入图片描述
  • sudo groupadd tom:创建tom组;注意只有sudo超级管理员有创建权限。
    在这里插入图片描述
    在这里插入图片描述
    每一行的含义为 组名:口令:组标识号:组内用户列表1
  • sudo useradd cxk -u 1314 -g tomcxk表示用户名; -u 1314为指定用户ID,这是计算机的对用户对象的标识符; -g tom指定该用户所属组为之前创建过的tom
    在这里插入图片描述
  • cat /etc/passwd:查看所有用户的信息,通常用户的信息存储在/etc/passwd目录下
    在这里插入图片描述
    该行的内容分别表示:
    注册名:x:用户标识符UID:组标识符GID:用户名:用户主目录:shell路径2
  • sudo passwd cxk
    在这里插入图片描述
  • sudo userdel cxk:执行即可删除cxk用户的相关信息

6. Linux权限操作(chmod命令)

Linux系统中的目录和文件访问的身份有如下三种:

  • user:文件所有者
  • group:文件所有者所在组的其他成员
  • other:不是文件所有者所在组的其他成员

每一种身份的文件或目录的权限可分为:可读(r)可写(w)可执行(x)

也可以用数字表示为421

sudo chmod 741 test.txt    # 修改文件test.txt权限

解释:
7 4 1 意思是指111 100 001,每3位为一组权限设置情况.

  • 111:第一组,表示文件所有者user而言,rwx的权限分别设置为111,即可读、可写、可执行.
  • 100:第二组,表示对于group组内的用户而言,rwx的权限分别设置为100,即可读、不可写、不可执行.
  • 001:第三组,表示对于非group组的其它用户而言,rwx的权限分别设置为001,即不可读、不可写、可执行.

通过ls -l看文件详细信息再进一步分析下:

  • 第一列drwxrwxr-xd这是一个目录(dir),后面为该目录的权限.
  • 第二列2:表示文件或者目录的链接数字.
  • 第三列ubuntu:表示文件或目录的所有者.
  • 第四列ubuntu:表示文件或目录的所有者所在的组.
  • 第五列7:表示文件或者目录的大小.
  • 第六列18:50:表示文件的或者目录最后的更新时间.
  • 第七列cxk1:表示文件或目录的名称.

在这里插入图片描述

补充:第一列共10个字符,

  • 第一个字符表示文件类型:目录或文件.
    d 表示目录文件(蓝色),- 表示普通文件(黑色/红色/绿色), l 表示链接文件(浅蓝色).
    p表示管道文件,b表示块设备文件.

7. Linux中的文件类型

POSIX定义了7种文件类型, 使用ls -l查看,第一个字母为文件类型:

  • 普通文件(f)
  • 目录文件(d):目录是一种特殊的文件,用来存储当前目录下的文件信息.
  • 符号链接(l):是对其他文件或者目录的引用,保存了目标对象的路径,通过ln -s创建.
    • ln -s link_name source_name
  • FIFO( p ):管道文件,用于进程间的通信.
  • Socket(s):用于进程间的通信,支持全双工.
  • 设备文件:块设备文件(b)、字符设备文件(c )

文件的寻找

# 查找/dev目录下,所有块设备文件,并详细显示文件信息
find /dev -type b -ls       
stat xxx        # 查看指定文件状态
chmod           # 修改文件权限
chown           # 修改文件所有者
chgrp           # 修改文件所在组

在这里插入图片描述


  1. 组文件每一行的具体含义-参考资料 ↩︎

  2. 用户每一行的具体含义-参考资料 ↩︎

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

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

相关文章

栈和队列的实现以及OJ题讲解

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大家三连关注&…

Android安卓实战项目(9)—漂亮的健身APP主页控件+开机动画+BMI计算(源码在文末)可用于比赛项目或者作业参考中

Android安卓实战项目(9)—漂亮的健身控件APP开机动画BMI计算(源码在文末🐕🐕🐕) 介绍: BMI(Body Mass Index,身体质量指数)是一种常用的健康指标…

Spring Cloud Alibaba (一)

1 微服务介绍 1.1 系统架构演变 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。 从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布 式架构--->S…

LeetCode 29题:两数相除

题目 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.…

一生一芯1——windows与Ubuntu双系统安装

UltraISO下载 下载链接:https://pan.baidu.com/s/18ukDs6yL64qU6thYyZEo-Q?pwdo8he 提取码:o8he 一路傻瓜安装,安装后点击继续试用 Ubuntu系统下载 这里我使用的是官网的22.04版本,由于大于4G,无法上传至百度网盘…

【CSS】CSS 选择器

CSS 选择器 1.基础选择器 1.1 元素选择器 语法:标签名{...} 元素选择器会选中对应标签名的HTML元素,例如:p{...},div{...},span{...}等 1.2 类选择器 语法:.类名{...} 类选择器会选中class属性为指定…

老胡的周刊(第102期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 ChatGPT-Shortcut[2] ChatGPT 快捷指令&…

MyBatis-Plus是什么以及特性[MyBatis-Plus系列] - 第481篇

​ 悟纤:师傅,宝宝不开心呢。 师傅:怎么不开心? 悟纤:感觉好多重复的代码来着。 师傅:是哪个部分重复的代码来着? 悟纤:就是对于一个model的增删改查部分。 师傅:那这…

周赛357(模拟、脑经急转弯、多源BFS+并查集、反悔贪心)

文章目录 周赛357[2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)模拟双端队列O(n) [2811. 判断是否能拆分数组](https://leetcode.cn/problems/check-if-it-is-possible-to-split-array/)脑经急转弯 [2812. 找出最安全路径](https://leetcode.cn/problems/f…

SpringBoot系列---【三种启动传参方式的区别】

三种启动传参方式的区别 1.三种方式分别是什么? idea中经常看到下面三种启动传参方式 优先级 Program arguments > VM options > Environment variable > 系统默认值 2.参数说明 2.1、VM options VM options其实就是我们在程序中需要的运行时环境变量,它需…

实现Jenkins自动发包配置

参考抖音:Java不良人 其中的视频演示代码 不推荐把jenkins端口一直开放,推荐使用时候放开(版本不太新,避免漏洞攻击) [rootVM-4-12-centos soft]# docker-compose -v Docker Compose version v2.19.1docker-compose.…

TCP三次握手四次断开

一、了解TCP 🍅TCP :传输控制协议,是一种面向连接的可靠的传输协议。 什么是可靠的传输协议?如何保障可靠传输? 保证可靠性: 1.确认机制 2.重传输机制什么是面向连接?如何保障面…

C语言 | 位运算符>>的高级用法

一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、优化除法运算 除法运算需要比位移运算需要更多的计算资源,某些情况下采用位移运算可以提高性能 代码示例 #in…

代码随想录算法训练营第51天|动态规划part09|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

代码随想录算法训练营第51天|动态规划part09|198.打家劫舍、213.打家劫舍II、337.打家劫舍III 198.打家劫舍 198.打家劫舍 思路: 仔细一想,当前房屋偷与不偷取决于 前一个房屋和前两个房屋是否被偷了。 所以这里就更感觉到&a…

VectorDBBench向量数据库性能评测工具

目录 一、背景和意义 二、特点和优势 三、应用场景和实际效果 四、总结 摘要: VectorDBBench.com是一个基于云计算的向量数据库基准测试平台,旨在评估不同向量数据库的性能和可扩展性。本文介绍了VectorDBBench的背景和意义,分析了VectorDBBench的特点和优势,并从多个方…

C# Atrribute和反射的简单例子

Attribute 需要以Attribute 结尾, 并继承Attribute namespace AttributeTest {public class HeroAttribute : Attribute{} }namespace AttributeTest {public class SkillAttribute : Attribute{} }namespace AttributeTest {[Hero]public class Blademaster{[Skill]public vo…

【PCB专题】Allegro中如何自动查找并删除不使用的规则

在Allegro软件使用中,我们经常是从上一个版本修改而来的。那么就会遇到有些多余规则没有使用的情况,怎么能够知道哪些规则没有使用并删除呢? 如下所示在Electrical中的All Constraints下存在SDIO规则和WIFI_SDIO规则。这两个规则是重复的,只是名称不同而已。 在规则的使…

前端工具类

日期类 1️⃣ 新建index.js文件/*** param {date} time 需要转换的时间* param {String} fmt 需要转换的格式 如 yyyy-MM-dd、yyyy-MM-dd HH:mm:ss*/ export function formatTime(time, fmt) {if (!time) {return "";}else {const date new Date(time);const o {M:…

[深度学习入门]PyTorch深度学习[数组变形、批量处理、通用函数、广播机制]

目录 一、前言二、数组变形2.1 更改数组的形状2.1.1 reshape2.1.2 resize2.1.3 T(转置)2.1.4 ravel2.1.5 flatten2.1.6 squeeze2.1.7 transpose 2.2 合并数组2.2.1 append2.1.2 concatenate2.1.3 stack 三、批量处理四、通用函数4.1 math 与 numpy 函数的性能比较4.2 循环与向量…

无涯教程-Perl - endhostent函数

描述 此函数告诉系统您不再希望使用gethostent从hosts文件读取条目。 语法 以下是此函数的简单语法- endhostent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perlwhile( ($name, $aliases, $addrtype, $length, addrs)gethostent() ) …