Linux-常用的Shell命令_linux shell sync 命令-程序员宅基地

技术标签: Linux  运维  ubuntu  linux  服务器  Shell命令  


前言

本篇分享:

Linux操作系统常用的Shell命令

环境介绍:

系统:Linux


常用的Shell命令

文件和目录管理

查看文件、目录信息

在终端该命令可以显示文件和目录的名称、大小、创建日期、修改日期等基本信息,以及权限、所有者、所属组等更详细的信息。 例如ls -l可以显示详细的文件信息,ls -a可以显示隐藏文件等。

指令:
ls

常用参数:
l -- 显示文件名、文件类型、权限、拥有者、文件大小等详细信息。
a -- 显示所有文件及目录 (. 开头的隐藏文件也会列出)。
R -- 若目录下有文件,则以下之文件亦皆依序列出。

示例:
ls -l 列出当前工作目录下所有文件的详细信息

查看文件内容

使用 cat 命令可以查看文本文件的内容。在命令行中输入 cat 命令,后面加上文件名,即可显示文件的所有内容。

指令:
cat

常用参数:
n/number -- 由 1 开始对所有输出的行数编号。

示例:
cat file.txt

此外,还可以使用 cat 命令将多个文件的内容合并输出到一个文件中。例如,如果要将 file1.txtfile2.txt 的内容合并输出到 output.txt 文件中,可以使用以下命令:

cat file1.txt file2.txt > output.txt

在这个命令中,> 符号用于将输出重定向到 output.txt 文件中,而 cat 命令则用于将 file1.txtfile2.txt 的内容合并输出。

查看文件类型

使用file命令可以查看文件的类型,包括二进制可执行文件、文本文件、图片、压缩文件等等。执行该命令时,会返回文件的类型以及其他相关信息。

指令:
file

示例:
file file.txt 查看file.txt文件类型

具体地,使用file命令时,可以在终端中输入file 文件名,例如:file example.txt。执行后,会返回如下所示的结果:

example.txt: ASCII text

这里的输出结果表明该文件类型为ASCII文本文件。当文件类型为二进制文件时,输出结果可能会显示为:

example.bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=..., stripped

其中,ELF表示该文件类型为可执行文件,64-bit表示文件位数为64位,x86-64表示文件为x86架构编译的,dynamically linked表示该文件使用了动态链接库,/lib64/ld-linux-x86-64.so.2为解释器路径,BuildID表示文件的构建ID,stripped表示该文件没有调试符号。

查找文件

使用find命令可以查找指定目录下符合条件的文件。除了基本的文件名和目录名匹配外,还可以按文件类型、文件大小、文件修改时间等条件进行搜索。

指令:
find

常用参数:
name -- 根据文件名查找

示例:
find / -name "file.txt" 在根目录下查找file.txt文件

查找内容

使用 grep 命令可以在文件或者文本流中查找特定字符串或模式,并输出匹配的行。

指令:
grep

常用参数:
d -- 指定要查找的是目录。

示例:
grep hello hello.c 在hello.c中查找hello字符串,并打印出该字符串的行。

查看目录大小

使用du命令可以查看指定目录(或文件)的磁盘使用情况。

指令:
du

常用参数:
h -- 以K、M、G为单位,提高可读性。

示例:
du -h dir 查看目录dir的大小

创建文件

使用touch命令可以创建一个新的空白文件,或者更新已有文件的访问和修改时间。在使用touch命令创建文件时,如果文件已经存在,它将被更新为当前的访问和修改时间。

指令:
touch

示例:
touch file.txt 创建文件名为file.txt的文件

删除文件

rm命令可以删除文件,但是需要非常小心,因为删除的文件将不可恢复。

指令:
rm

常用参数:
r -- 递归删除,包括目录下的子目录。
f -- 强制删除,无需确认,不存在也不提醒。

示例:
rm file.txt 删除file.txt文件
rm -rf dir 删除dir目录

拷贝文件

使用cp命令可以将一个文件从一个位置复制到另一个位置。

指令:
cp

常用参数:
r -- 递归复制,将复制该目录下所有的子目录和文件。 
a -- 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
d -- 复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。 

示例:
cp file1.txt file2.txt 复制文件内容file1.txt到file2.txt
cp -r dir ./newdir 递归复制目录dir到newdir

移动文件

当使用 mv 命令时,我们可以对文件进行重命名,也可以将文件移动到不同的目录中。

指令:
mv

常用参数:
i  -- 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件。

示例:
mv file1 file2 移动文件内容file1到file2。若无file2,相当于文件重命名
mv ./dir1 ./dir2 移动目录dir1到dir2。若无dir2,相当于目录重命名

创建目录

使用mkdir命令可以在Linux或类Unix系统上创建新目录。

指令:
mkdir

常用参数:
p -- 目录不存在则创建。

示例:
mkdir -p dir1/dir2 dir1不存在则自动创建dir1

删除目录

使用rmdir命令可以删除一个空目录。

rmdir,一般使用rm
rm -rf dir 递归删除目录dir

拷贝目录

使用 cp 命令可以将一个目录及其所有子目录和文件复制到另一个目录。

cp
使用:cp -r dir ./newdir 递归复制目录

压缩文件

使用tar命令可以将一个或多个文件或目录压缩成一个.tar文件。

指令:
tar

常用参数:
c -- 创建文件。
z -- 调用gzip来进行压缩。
v -- 显示所有过程。
f -- 压缩文件名字,切记,这个参数是最后一个参数,后面只能文件名。 

示例:
tar -czvf text.gz text.c text.h 将text.c、text.h打包压缩为text.gz

解压文件

使用 tar 命令可以将一个或多个文件或目录打包成一个 tar 包,也可以解压缩已经存在的 tar 包。

指令:
tar

常用参数:
x -- 解压。
z -- 调用gzip来进行解压。
v -- 显示所有过程。
f -- 压缩文件名字,切记,这个参数是最后一个参数,后面只能文件名。 

示例:
tar -xzvf text.gz 解压名为text.gz的压缩包

路径相关操作

目录切换

使用 cd 命令可以切换当前的工作目录。

指令:
cd

示例:
cd ~ 家目录
cd - 回到上一次目录

显示当前路径

使用pwd命令可以显示当前所在目录的绝对路径。

指令:
pwd

用户、用户组管理

创建用户

使用useradd命令可以创建一个新用户。

指令:
useradd

常用参数:
d -- 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
g -- 指定用户所属的用户组。

示例:
useradd -d /home/user1 -m user1 增加一个user1用户,指定用户目录为/home/user1

删除用户

使用userdel命令可以删除一个用户账号。

指令:
userdel

常用参数:
r -- 把用户的主目录一起删除。 

示例:
userdel -r user1 删除用户名为user1的用户

创建用户组

当我们在 Linux 中添加新的用户时,我们还需要为该用户创建一个用户组。这个用户组将为该用户提供文件和目录的访问权限,并决定该用户是否拥有管理员或其他特权。

以下是使用 groupadd 命令的介绍:

指令:
groupadd

常用参数:
g --  指定新用户组的组标识号(GID)。

示例:
groupadd group1 创建组名为group1的组
groupadd -g 666 group1 创建组名为group1的组并制定组的标识号为666

删除用户组

使用groupdel命令可以删除指定的用户组。

指令:
groupdel

示例:
groupdel group1 删除组名为group1的组

切换用户

使用su命令可以切换用户身份。默认情况下,su命令切换到root用户身份,但也可以指定要切换到的其他用户身份。

指令:
su

示例:
su user1 切换到user1用户
su root 切换到root用户

系统相关操作

显示网络配置信息

使用 ifconfig 命令可以查看当前计算机的网络配置信息,包括网卡的IP地址、MAC地址、子网掩码、广播地址等信息。

指令:
ifconfig

重新启动

使用reboot命令可以重启Linux系统。需要注意的是,重启前最好保存所有未保存的工作和数据,以免数据丢失。

指令:
reboot

关机

使用 poweroff 命令可以安全地关机系统。

指令:
poweroff

系统帮助手册

使用 man 命令可以查看 Linux 系统中的手册页。

指令:
man

以下是对该命令的扩充说明:

  1. 基本用法:使用 man 命令加上你想要查找的命令名或者文件名即可。例如,man ls 会显示 ls 命令的手册页,man cp 会显示 cp 命令的手册页。
  2. 手册页的章节:手册页按照章节分类,每个章节包含不同类型的信息。以下是手册页的章节列表:
  • 第 1 章:用户命令,例如 lscp 等。
  • 第 2 章:系统调用,这些调用是操作系统核心提供的接口。
  • 第 3 章:库函数,这些函数通常由 C 语言库提供。
  • 第 4 章:特殊文件,例如设备文件、管道和 socket。
  • 第 5 章:文件格式和约定,例如 passwdfstab 等文件格式。
  • 第 6 章:游戏和演示程序。
  • 第 7 章:杂项。
  • 第 8 章:系统管理员命令,例如 mountreboot 等。

你可以在命令后面加上章节号来查找特定章节的手册页。例如,man 1 ls 会显示 ls 命令的用户手册页,man 2 open 会显示 open 系统调用的手册页。

  1. 搜索手册页:可以使用 / 命令在手册页中搜索关键字。例如,/search 会在手册页中查找 “search” 关键字,并跳转到第一个匹配的位置。按下 n 键可以查找下一个匹配的位置,按下 N 键可以查找上一个匹配的位置。
  2. 离开手册页:按下 q 键即可退出手册页。

进程查看

使用ps命令可以查看当前系统正在运行的进程

指令:
ps

常用参数:
a -- 显示所有进程,包括其他用户的进程。
u -- user 显示指定用户的进程信息。
x -- 显示不属于终端的进程信息。
e -- 显示所有进程,等同于"-A"选项。

示例
ps -aux

进程实时运行状态查看

使用top命令可以实时查看系统中的进程状态和资源占用情况。除了查看进程的PID、进程名和占用CPU、内存等资源的情况,还可以使用top的交互式命令进行进程管理和排序。

指令:
top

下面是一些常用的top命令操作:

  • 进程排序:在top命令运行时,可以使用下面的快捷键来对进程进行排序,例如按下Shift+P按照CPU使用率进行排序,按下Shift+M按照内存使用率进行排序等。
    • P:按照CPU使用率进行排序
    • M:按照内存使用率进行排序
    • T:按照时间/累计时间进行排序
    • N:按照PID进行排序
    • K:按照进程优先级进行排序
  • 进程管理:在top命令运行时,可以使用下面的快捷键来管理进程,例如按下k键可以杀死指定的进程。
    • k:杀死指定的进程,需要输入要杀死的进程的PID
    • r:修改指定的进程的优先级,需要输入要修改的进程的PID和新的优先级值
    • h:显示帮助信息
    • q:退出top命令

数据同步写入磁盘

使用sync命令可以将系统的内存缓冲区中的数据写入磁盘,以确保数据的持久性。sync命令不需要任何参数,直接执行即可。

但需要注意的是,sync命令只是将缓存的数据写入磁盘,如果系统挂掉或掉电等意外情况发生时,依然有可能会造成数据的丢失。因此,在重要的数据操作完成后,建议使用sync命令将数据写入磁盘,并进行数据备份等措施以确保数据的安全性。

指令:
sync 将缓冲区数据写入磁盘

软件管理

更新软件资源到本地

sudo apt-get update

安装软件

sudo apt-get install 软件名

卸载软件

sudo apt-get remove 软件名

使用软件包安装(.deb)

sudo dpkg -i 安装包名称
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Octopus1633/article/details/129799613

智能推荐

前端开发之vue-grid-layout的使用和实例-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout

Power Apps-上传附件控件_powerapps点击按钮上传附件-程序员宅基地

文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件

C++ 面向对象(Object-Oriented)的特征 & 构造函数& 析构函数_"object(cnofd[\"ofdrender\"])十条"-程序员宅基地

文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"

修改node_modules源码,并保存,使用patch-package打补丁,git提交代码后,所有人可以用到修改后的_修改 node_modules-程序员宅基地

文章浏览阅读133次。删除node_modules,重新npm install看是否成功。在 package.json 文件中的 scripts 中加入。修改你的第三方库的bug等。然后目录会多出一个目录文件。_修改 node_modules

【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure-程序员宅基地

文章浏览阅读883次。【代码】【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure

整理5个优秀的微信小程序开源项目_微信小程序开源模板-程序员宅基地

文章浏览阅读1w次,点赞13次,收藏97次。整理5个优秀的微信小程序开源项目。收集了微信小程序开发过程中会使用到的资料、问题以及第三方组件库。_微信小程序开源模板

随便推点

Centos7最简搭建NFS服务器_centos7 搭建nfs server-程序员宅基地

文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server

Springboot整合Mybatis-Plus使用总结(mybatis 坑补充)_mybaitis-plus ruledataobjectattributemapper' and '-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d

EECE 1080C / Programming for ECESummer 2022 Laboratory 4: Global Functions Practice_eece1080c-程序员宅基地

文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c

洛谷p4777 【模板】扩展中国剩余定理-程序员宅基地

文章浏览阅读53次。被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...

android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...-程序员宅基地

文章浏览阅读1.3k次。首先,问题是如何出现的?晚上复查代码,发现一个activity没有调用自己的ondestroy方法我表示非常的费解,于是我检查了下代码。发现再finish代码之后接了如下代码finish();System.exit(0);//这就是罪魁祸首为什么这样写会出现问题System.exit(0);////看一下函数的原型public static void exit (int code)//Added ..._android 手动杀死app,activity不执行ondestroy

SylixOS快问快答_select函数 导致堆栈溢出 sylixos-程序员宅基地

文章浏览阅读894次。Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>.A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码的修改及时告知笔者.需要指出: SylixOS 本身仅是笔者用来提升自己水平而开发的_select函数 导致堆栈溢出 sylixos

推荐文章

热门文章

相关标签