Linux操作系统命令大全

Linux是一种操作系统 Operating System 简称 OS ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。

Linux 系统种类

  • 红帽企业版 Linux :RHEL 是全世界内使用最广泛的 Linux 系统。它具有极强的性能与稳定性,是众多生成环境中使用的(收费的)系统。
  • Fedora :由红帽公司发布的桌面版系统套件,用户可以免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到 RHEL 系统中,因此 Fedora 也成为 RHEL 系统的试验版本。
  • CentOS :通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。
  • Deepin :中国发行,对优秀的开源成品进行集成和配置。
  • Debian :稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。
  • Ubuntu :是一款派生自 Debian 的操作系统,对新款硬件具有极强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,而且 Ubuntu 也可用于服务器领域。

命令行提示符

进入命令行环境以后,用户会看到 Shell 的提示符。提示符往往是一串前缀,最后以一个美元符号 $ 结尾,用户可以在这个符号后面输入各种命令。

执行一个简单的命令 pwd :

[root@iZm5e8dsxce9ufaic7hi3uZ ~]# pwd
/root

命令解析:

  • root:表示用户名;
  • iZm5e8dsxce9ufaic7hi3uZ:表示主机名;
  • ~:表示目前所在目录为家目录,其中 root 用户的家目录是 /root 普通用户的家目录在 /home 下;
  • #:指示你所具有的权限( root 用户为 # ,普通用户为 $ )。
  • 执行 whoami 命令可以查看当前用户名;
  • 执行 hostname 命令可以查看当前主机名;

快捷方式

在开始学习 Linux 命令之前,有这么一些快捷方式,是必须要提前掌握的,它将贯穿整个 Linux 使用生涯。

  • 通过上下方向键 ↑ ↓ 来调取过往执行过的 Linux 命令;
  • 命令或参数仅需输入前几位就可以用 Tab 键补全;
  • Ctrl + R :用于查找使用过的命令(history 命令用于列出之前使用过的所有命令,然后输入 ! 命令加上编号( !2 )就可以直接执行该历史命令);
  • Ctrl + L:清除屏幕并将当前行移到页面顶部;
  • Ctrl + C:中止当前正在执行的命令;
  • Ctrl + U:从光标位置剪切到行首;
  • Ctrl + K:从光标位置剪切到行尾;
  • Ctrl + W:剪切光标左侧的一个单词;
  • Ctrl + Y:粘贴 Ctrl + U | K | Y 剪切的命令;
  • Ctrl + A:光标跳到命令行的开头;
  • Ctrl + E:光标跳到命令行的结尾;
  • Ctrl + D:关闭 Shell 会话;

文件和目录

查看路径

pwd

显示当前目录的路径

 

浏览和切换目录

ls

列出文件和目录,它是 Linux 最常用的命令之一。

【常用参数】

  • -a 显示所有文件和目录包括隐藏的
  • -l 显示详细列表
  • -h 适合人类阅读的
  • -t 按文件最近一次修改时间排序
  • -i 显示文件的 inode ( inode 是文件内容的标识)

cd

cd 是英语 change directory 的缩写,表示切换目录。

cd / --> 跳转到根目录
cd ~ --> 跳转到家目录
cd .. --> 跳转到上级目录
cd ./home --> 跳转到当前目录的home目录下
cd /home/lion --> 跳转到根目录下的home目录下的lion目录
cd --> 不添加任何参数,也是回到家目录

[注意] 输入cd /ho + 单次 tab 键会自动补全路径 + 两次 tab 键会列出所有可能的目录列表。

浏览和创建文件

cat

一次性显示文件所有内容,更适合查看小的文件。

cat cloud-init.log

【常用参数】

  • -n 显示行号。

less

分页显示文件内容,更适合查看大的文件。

less cloud-init.log

【快捷操作】

  • 空格键:前进一页(一个屏幕);
  • b 键:后退一页;
  • 回车键:前进一行;
  • y 键:后退一行;
  • 上下键:回退或前进一行;
  • d 键:前进半页;
  • u 键:后退半页;
  • q 键:停止读取文件,中止 less 命令;
  • = 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
  • h 键:显示帮助文档;
  • / 键:进入搜索模式后,按 n 键跳到一个符合项目,按 N 键跳到上一个符合项目,同时也可以输入正则表达式匹配。

head

显示文件的开头几行(默认是10行)

head cloud-init.log

【参数】

  • -n 指定行数 head cloud-init.log -n 2

tail

显示文件的结尾几行(默认是10行)

tail cloud-init.log

【参数】

  • -n 指定行数 tail cloud-init.log -n 2
  • -f 会每过1秒检查下文件是否有更新内容,也可以用 -s 参数指定间隔时间 tail -f -s 4 xxx.log

touch

创建一个文件

touch new_file

mkdir

创建一个目录

mkdir new_folder

【常用参数】

  • -p 递归的创建目录结构 mkdir -p one/two/three

文件的复制和移动

cp

拷贝文件和目录

cp file file_copy --> file 是目标文件,
file_copy 是拷贝出来的文件cp file one --> 把 file 文件拷贝到 one 目录下,
并且文件名依然为 filecp file one/file_copy --> 把 file 文件拷贝到 one 目录下,
文件名为file_copycp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下

【常用参数】

  • -r 递归的拷贝,常用来拷贝一整个目录

mv

移动(重命名)文件或目录,与cp命令用法相似。

mv file one --> 将 file 文件移动到 one 目录下mv new_folder one --> 将 
new_folder 文件夹移动到one目录下mv *.txt folder --> 把当前目录下所有 
txt 文件移动到 folder 目录下mv file new_file --> file 文件重命名为 new_file

文件的删除和链接

rm

删除文件和目录,由于 Linux 下没有回收站,一旦删除非常难恢复,因此需要谨慎操作

rm new_file  --> 删除 new_file 文件rm f1 f2 f3  --> 同时删除 f1 f2 f3 3个文件

【常用参数】

  • -i 向用户确认是否删除;
  • -f 文件强制删除;
  • -r 递归删除文件夹,著名的删除操作 rm -rf 。

ln

英文 Link 的缩写,表示创建链接。

学习创建链接之前,首先要理解链接是什么,我们先来看看 Linux 的文件是如何存储的:

Linux 文件的存储方式分为3个部分,文件名、文件内容以及权限,其中文件名的列表是存储在硬盘的其它地方和文件内容是分开存放的,每个文件名通过 inode 标识绑定到文件内容。

Linux 下有两种链接类型:硬链接和软链接。

硬链接

使链接的两个文件共享同样文件内容,就是同样的 inode ,一旦文件1和文件2之间有了硬链接,那么修改任何一个文件,修改的都是同一块内容,它的缺点是,只能创建指向文件的硬链接,不能创建指向目录的(其实也可以,但比较复杂)而软链接都可以,因此软链接使用更加广泛。

ln file1 file2  --> 创建 file2 为 file1 的硬链接

如果我们用 rm file1 来删除 file1 ,对 file2 没有什么影响,对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上删除。只有同时删除了 file1 与file2 后,它们共同指向的文件内容才会消失。

软链接

软链接就类似 windows 下快捷方式。

ln -s file1 file2

执行 ls -l 命名查看当前目录下文件的具体信息

total 0-rw-r--r-- 1 root root 0 Jan 14 06:29 file1lrwxrwxrwx 1 
root root 5 Jan 14 06:42 file2 -> file1  # 表示file2 指向 file1

其实 file2 只是 file1 的一个快捷方式,它指向的是 file1 ,所以显示的是 file1 的内容,但其实 file2 的 inode 与 file1 并不相同。如果我们删除了 file2 的话, file1是不会受影响的,但如果删除 file1 的话, file2 就会变成死链接,因为指向的文件不见了。


用户与权限

用户

Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。

自己创建的用户是有限权限的用户,这样大大提高了 Linux 系统的安全性,有效防止误操作或是病毒攻击,但是我们执行的某些命令需要更高权限时可以使用 sudo 命令。

sudo

以 root 身份运行命令

sudo date  --> 当然查看日期是不需要sudo的这里只是演示,
sudo 完之后一般还需要输入用户密码的

useradd + passwd

  • useradd 添加新用户
  • passwd 修改用户密码

这两个命令需要 root 用户权限

useradd lion --> 添加一个lion用户,添加完之后在 /home 
路径下可以查看passwd lion --> 修改lion用户的密码

userdel

删除用户,需要 root 用户权限

userdel lion --> 只会删除用户名,不会从/home中删除对应文件夹userdel 
lion -r --> 会同时删除/home下的对应文件夹

su

切换用户,需要 root 用户权限

sudo su --> 切换为root用户(exit 命令或 CTRL + D 快捷键都可以使普通用户切换为 
root 用户)su lion --> 切换为普通用户su - --> 切换为root用户

群组的管理

Linux 中每个用户都属于一个特定的群组,如果你不设置用户的群组,默认会创建一个和它的用户名一样的群组,并且把用户划归到这个群组。

groupadd

创建群组,用法和 useradd 类似。

groupadd friends

groupdel

删除一个已存在的群组

groupdel foo  --> 删除foo群组

groups

查看用户所在群组

groups lion  --> 查看 lion 用户所在的群组

usermod

用于修改用户的账户。

【常用参数】

  • -l 对用户重命名。需要注意的是 /home 中的用户家目录的名字不会改变,需要手动修改。
  • -g 修改用户所在的群组,例如 usermod -g friends lion修改 lion 用户的群组为 friends 。
  • -G 一次性让用户添加多个群组,例如 usermod -G friends,foo,bar lion 。
  • -a-G 会让你离开原先的群组,如果你不想这样做的话,就得再添加 -a 参数,意味着append 追加的意思。

chgrp

用于修改文件的群组。

chgrp bar file.txt --> file.txt文件的群组修改为bar

chown

改变文件的所有者,需要 root 身份才能运行。

chown lion file.txt --> 把其它用户创建的file.txt转让给lion用户chown 
lion:bar file.txt --> 把file.txt的用户改为lion,群组改为bar

【常用参数】

  • -R 递归设置子目录和子文件, chown -R lion:lion /home/frank 把 frank 文件夹的用户和群组都改为 lion 。

文件权限管理

chmod

修改访问权限。

chmod 740 file.txt

【常用参数】

  • -R 可以递归地修改文件访问权限,例如 chmod -R 777 /home/lion

修改权限的确简单,但是理解其深层次的意义才是更加重要的。下面我们来系统的学习Linux 的文件权限。

[root@lion ~]# ls -ldrwxr-xr-x 5 root root 4096 Apr 13  
2020 climblrwxrwxrwx 1 root root    7 Jan 14 06:41 hello2.c -> hello.c-rw-r--r-- 1 
root root  149 Jan 13 06:14 hello.c

其中 drwxr-xr-x 表示文件或目录的权限。让我们一起来解读它具体代表什么?

  • d :表示目录,就是说这是一个目录,普通文件是 - ,链接是 l 。
  • r :read 表示文件可读。
  • w :write 表示文件可写,一般有写的权限,就有删除的权限。
  • x :execute 表示文件可执行。
  • - :表示没有相应权限。

权限的整体是按用户来划分的,如下图所示:

现在再来理解这句权限 drwxr-xr-x 的意思:

  • 它是一个文件夹;
  • 它的所有者具有:读、写、执行权限;
  • 它的群组用户具有:读、执行的权限,没有写的权限;
  • 它的其它用户具有:读、执行的权限,没有写的权限。

现在理解了权限,我们使用 chmod 来尝试修改权限。chmod 它不需要是 root 用户才能运行的,只要你是此文件所有者,就可以用 chmod 来修改文件的访问权限。

数字分配权限

因此要改变权限,只要做一些简单的加法就行:

chmod 640 hello.c # 分析6 = 4 + 2 + 0 表示所有者具有 
rw 权限4 = 4 + 0 + 0 表示群组用户具有 r 权限0 = 0 + 0 + 0 表示其它用户没有权限对应文字权限为:
-rw-r-----

用字母来分配权限

  • u :user 的缩写,用户的意思,表示所有者。
  • g :group 的缩写,群组的意思,表示群组用户。
  • o :other 的缩写,其它的意思,表示其它用户。
  • a :all 的缩写,所有的意思,表示所有用户。
  • + :加号,表示添加权限。
  • - :减号,表示去除权限。
  • = :等于号,表示分配权限。
chmod u+rx file --> 文件file的所有者增加读和运行的权限chmod g+r file --> 
文件file的群组用户增加读的权限chmod o-r file --> 
文件file的其它用户移除读的权限chmod g+r o-r file --> 
文件file的群组用户增加读的权限,其它用户移除读的权限chmod go-r file --> 
文件file的群组和其他用户移除读的权限chmod +x file --> 
文件file的所有用户增加运行的权限chmod u=rwx,g=r,o=- file --> 文件file的所有者分配读写和执行的权限,
群组其它用户分配读的权限,其他用户没有任何权限

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

业内常用即时传输网盘

工具名称 业内常用即时传输网盘 功能简介 无需登录,短时间内有效,多用于传输小型敏感文件 外部链接 请见文内 内部网盘链接 在线站点,无网盘链接 使用说明 许多安全行内人士在团队内互传敏感文件时,为实现上传和下载文件…

现场工程师救火-UEFI(BIOS)节能设置导致金牌服务器只跑出龟速

近期协助出现场,解决了一个非常典型的UEFI 启动参数配置不当导致的服务器降效案例。错误的节能参数配置,导致价值几十万的服务器变成龟速服务器,并造成严重的生产事故。 1. 现象 朋友公司近期准备升级2010年就部署的服务器组,新…

《斯坦福数据挖掘教程·第三版》读书笔记(英文版) Chapter 2 MapReduce and the New Software Stack

来源:《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT Chapter 2 MapReduce and the New Software Stack Computing cluster means large collections of commodity hardware, including conventional processors (“compute nodes”) connected by Ethernet …

centos8 mysql 主从复制

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 Linux centos8

使用D435i深度相机运行ORB-SLAM3

下载安装链接 下载ORB-SLAM3地址: git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git eigen3多版本安装:https://blog.csdn.net/weixin_41756645/article/details/129570141 ORB-SLAM2中eigen3版本为:3.2.10版本 ORB-SLAM3中eigen3版…

【分布式】一致性哈希和哈希槽

当我们拥有了多台存储服务器之后,现在有多个key,希望可以将这些个key均匀的缓存到这些服务器上,可以使用哪些方案呢? 1. 普通哈希取模法 1.1 直接哈希取模 这是一种最容易想到的方法,使用取模算法hash(k…

AI绘图实战(七):室内设计线稿渲染、景观设计手绘稿改动、建筑照片转线稿|Stable Diffusion成为设计师生产力工具

S:AI能取代设计师么? I :至少在设计行业,目前AI扮演的主要角色还是超级工具,要顶替?除非甲方对设计效果无所畏惧~~ 预先学习: 安装及其问题解决参考:《Windows安装Stable Diffusion …

javaScript:cropperjs是一款非常强大却又简单的图片裁剪工具

cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器。(关键是使用方法简单,几行代码就可以搞定) 官方github文档:GitHub -…

流程图拖拽视觉编程-流程编辑器

目录 一、简介 二、流程编辑器-视图实现 三、参考资料 一、简介 前期文章: 流程图拖拽视觉编程--概述_Jason~shen的博客-CSDN博客 本期内容: 本期将介绍流程编辑器模块的实现方法,效果图如下所示。该模块基于QT Graphics/View实现&…

使用FFMPEG库封装264视频和acc音频数据到MP4文件中

准备 ffmepeg 4.4 一段H264的视频文件 一段acc格式的音频文件 封装流程 1.使用avformat_open_input分别打开视频和音频文件,初始化其AVFormatContext,使用avformat_find_stream_info获取编码器基本信息 2.使用avformat_alloc_output_context2初始化…

solidity 安全 如何阻止重入攻击

什么是可重入攻击? 我们使用合约的过程中,经常会遇到这种情况,智能合约能够调用外部的合约;这些外部合约又可以回调到调用他们的智能合约;在这种情况下,我们说智能合约被重新输入,这种情况被称为…

Hive ---- Hive 安装

Hive ---- Hive 安装 1. Hive安装地址2. Hive安装部署1. 安装Hive2. 启动并使用Hive 3. MySQL安装1. 安装MySQL2. 配置MySQL3. 卸载MySQL说明 4. 配置Hive元数据存储到MySQL1. 配置元数据到MySQL2. 验证元数据是否配置成功3. 查看MySQL中的元数据 5. Hive服务部署1. hiveserver…

图像处理:均值滤波算法

目录 前言 概念介绍 基本原理 Opencv实现中值滤波 Python手写实现均值滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理:推导五种滤波算法(均值、中值、高斯、双边、引导)。这在此基础上,我想更深入地研…

wvp开发环境搭建

代码下载地址 代码下载地址 https://gitee.com/pan648540858/wvp-GB28181-pro.git 开发工具 采用jetbrain idea 利用开发工具下载代码 文件-新建-来自版本控制的项目 url是上面的代码下载链接,点击克隆即可 下图是已经克隆并打开的代码 安装依赖环境 安装redi…

d2l Transformer

终于到变形金刚了,他的主要特征在于多头自注意力的使用,以及摒弃了rnn的操作。 目录 1.原理 2.多头注意力 3.逐位前馈网络FFN 4.层归一化 5.残差连接 6.Encoder 7.Decoder 8.训练 9.预测 1.原理 主要贡献:1.纯使用attention的Enco…

计算机网络学习03(OSI、TCP/IP网络分层模型详解))

1、OSI 七层模型 OSI 七层模型 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示: 每一层都专注做一件事情,并且每一层都需要使用下一层提供的功能比如传输层需要使用网络层提供的路由和寻址功能&#xff0…

创建NAT模式KVM虚拟机

创建NAT模式KVM虚拟机 1 添加脚本执行权限(上传脚本文件至root目录)。 首先需要给脚本赋予执行权限。 # chmod x qemu-ifup-NAT 2 启动虚拟机。 通过命令启动虚拟机。(记得安装net-tools) # yum install net-tools -y # qemu-kvm -m 1024 -drive fi…

WSL怎么使用本机进行代理联网

文章目录 WSL怎么使用本机代理进行联网问题来源设置v2rayN设置wsl总结参考 WSL怎么使用本机代理进行联网 问题来源 使用WSL克隆github的代码网速很慢,无响应,导致项目无法下载,真的愁人。就想到为WSL设置xx上网,是否就会好很多。…

超级详细的华为OSPF实验及配置

什么是OSPF? 开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。 目前针对IPv4协议使用的是OSPF Version 2(RFC2328&#x…

网络安全:通过445端口暴力破解植入木马。

网络安全:通过445端口暴力破解植入木马。 木马制作工具,如:灰鸽子等等 445端口是文件共享端口。可以进入对方文件硬盘进行植入木马: 使用文件共享进入对方磁盘: 在cmd输入net use \\x.x.x.x\ipc$ 之后会让你输入账号…