常见的shell命令

2023-10-27

文章目录

常用的shell命令

一、终端的使用

1、打开

​ ctrl+alt+t

​ 鼠标右键点击桌面快捷方式

​ 通过搜索按钮找到终端Terminal

2、关闭

​ ctrl+d

​ 点击左上角的X

3、放大或者缩小

​ 放大:ctrl+shift+加号

​ 缩小:ctrl+减+减

4、在终端上复制

​ 复制:ctrl+shift+c

​ 粘贴:ctrl+shift+v

​ 选中要复制的字符串,点击鼠标滚轮

5、关闭当前进程(强制)

​ ctrl+c

二、shell命令(所有的命令输入完毕,按回车键执行)

1、管理员权限的切换

​ sudo su sudo -s

​ 输入密码(密码不回显)

2、退出管理员

​ exit

3、临时使用管理员权限

​ sudo 命令

4、man(manual)

=====================

​ man有九个手册

​ 第一手册:shell的解释

​ 第二手册:系统IO函数的解释

​ 第三手册:标准IO函数的解释

​ 如何用man去查找想要的信息?

​ man 手册数 关键字(命令、函数、配置文件)

​ 例如查找命令: man 1 ls

​ 如果不清楚要查找的信息在哪一个手册?

​ man -f 关键字

​ 根据返回的提示信息去选择需要查找的手册

5、ls(list) 查看指定路径的文件信息

================================

​ ls --》查看当前目录文件名

​ ls 路径 —》查看指定路径下的文件名

​ ls -l -》查看当前目录文件的详细信息

​ drwxr-xr-x 2 root root 4096 11月 30 2020 Desktop

​ linux下有七种文件类型:

​ d:目录

​ -:普通文件

​ p:管道文件

​ s:套接字文件

​ b:块设备文件

​ c:字符设备

​ l:链接文件

​ ls -lh —》以带单位的方式显示文件大小,必须加上l一起用

​ ls -a ----》查看所有(全部)文件(隐藏文件特点,都以点开头)

​ 备注:

​ drwxr-xr-x 16 gec gec 4096 3月 29 17:47 .

​ 表示当前目录

​ drwxr-xr-x 16 gec gec 4096 3月 29 17:47 …

​ 表示上一级目录

6、cat/tac/less/more(查看文件内容)

==============================

​ cat filename —》把文件内容打印到终端

​ cat /etc/vim/vimrc —》查看/etc/vim/路径下的vimrc

​ cat filename -n ----》把文件行号也显示出来

7、rm(remove) 删除文件、目录

==============================

​ rm filename -----》删除普通文件

​ rm dir/ -r —》删除目录,-r表示递归的删除目录及其子目录

8、mkdir/rmdir(make/remove directory) 创建目录、删除空目录(rmdir只能删除空目录)

================================

​ mkdir dir1/ —》创建一个dir1的目录

​ mkdir dir2/dir21/di211 -p --》创建嵌套空目录

​ rmdir dir/ —》删除空目录

​ 备注:

​ 安装tree工具,查看嵌套目录的结构,以树状图的方式显示

​ sudo apt update

​ sudo apt install tree

​ tree 路径 -L 2 //查看指定路径下的两个层次文件夹

9、touch/gedit (创建普通文件、更新文件时间)

==============================

​ touch filename —》如果filename存在那么就更新filename时间,如果不存在就创建filename文件

​ touch 1.txt 2.txt 3.pdf —》一次性创建多个文件

​ gedit filename —>如果文件存在就打开编辑(读、写),如果不存在就打开文件

10、cp(copy)复制文件

================================

​ cp file1 file2 --》文件到文件

​ cp file dir/ —》文件到目录

​ cp dir1/ dir2/ -r —》目录到目录,-r递归的复制目录及其子目录

11、mv(move)移动、重命名

================================

​ mv file1 file2 ----》重命名

​ mv file dir -----》移动

​ mv dir1 dir2 -----》移动目录文件,这里不需要跟上-r

cp和mv的区别:

1、 cp用来拷贝文件,mv用来移动文件

2、 cp拷贝文件之后,原文件还在,mv移动文件,原文件就不见了

3、 cp在拷贝目录文件的时候,需要加上-r进行递归,而mv移动的时候,不需要

目录文件存放的是文件索引

12、cd(change directory) 切换当前路径

=================================

​ cd 或者 cd ~ -----》切换到家目录(/home/gec)

​ cd - ----》切换到上一次操作的路径

​ cd 路径 -----》切换到指定的路径下

​ cd …/ ----》切换到上一级目录

​ cd …/…/ ----》切换到上上级目录

​ 绝对路径:从根目录“/”开始访问目标文件

​ 相对路径:从当前目录开始访问目标文件

13、find(查找文件)ls可以跟find有相同的作用

============================

​ find 路径 按什么方式 要查找的内容

​ find / -name stdio.h --》按名字查找文件

14、grep(查找字符串)

=============================

​ grep ‘as’ filename ----》在指定的文件中找字符串as

​ grep ‘as’ dir/ -rnH ---->递归的在指定路径下所有文件中查找字符串

​ ls | grep txt —》把ls的结果通过管道给到grep作为输入(不常用)

15、head/tail(查看文件前面的行数内容,文件末尾的行数内容)(不常用)

=================================

​ head filename —》查看文件前面的行内容

​ head -n 6 filename —>查看文件前6行内容

​ tail filename —》查看文件前面的行内容

​ tail -n 6 filename —>查看文件末尾6行内容

16、sort(排序)(不常用)

=================================

​ sort filename -----》把文件正序输出到屏幕

​ sort filename -r ----》把文件逆序输出到屏幕

17、uniq(去除相同的相邻行)(不常用)

================================

​ uniq filename -----》把文件中相邻相同的行去掉输出终端

​ sort file | uniq ----》先排序,把排序的结果通过管道(|)给到uniq的命令

​ sort 3.txt | uniq > 33.txt —》先排序,把排序的结果通过管道(|)给到uniq的命令,然后通过输出从定向写入一个新文件

18、diff(different)对比两个文件的差异、生成补丁

==================================

​ diff file1 file2 -u —》对比两个文件的差异

​ diff dir1 dir2 -ru —》对比两个目录的差异

19、file(查看文件属性)

=================================

​ file filename -----》查看文件属性

20、env(environment)查看系统环境变量(不常用)

===================================

​ env ------》在终端上打印系统环境变量

21、echo在中上显示变量或字符串(不常用)

====================================

​ echo abc ----》在终端原样打印

​ echo hello > 1.txt ---->把hello从定向到文件中

​ echo $A ----》在终端打印变量A的值

​ 备注:在shell中想要使用变量,需要$解释出来

22、export 设置环境变量

====================================

​ export PATH= P A T H : / h o m e / y e n g / D e s k t o p 添 加 一 个 路 径 , 一 定 要 用 PATH:/home/yeng/Desktop 添加一个路径,一定要用 PATH:/home/yeng/Desktop引用PATH原来的值添加

​ 备注:

​ 1、在终端上执行的命令都是临时有效

​ 2、想要永久生效,就要把命令写入~/.bashrc

​ 3、.bashrc是shell软件的配置文件(脚本)

​ 4、把新配置的添加到文件末尾

​ 备注:

​ 1、环境变量PATH的作用是,存放系统中的程序所在的路径,使得运行这些程序时不需要再特定指明所在的路径

​ 2、环境变量LD_LIBRARY_PATH的作用是,存放系统中的库所在的路径,使得链接库时不需要再特定指明其所在路径

23、tar 归档或者压缩文件、释放归档或解压

=========================================

​ tar 参数选项 压缩名 压缩文件列表 —》创建归档或解压

​ tar 参数选项 压缩名 ----》解压

​ c 创建

​ x 释放

​ v 显示过程

​ f 指定文件

​ z 压缩或者解压gzip格式

​ j 压缩或者解压bz2格式

​ -C 解压时指定解压路径

​ tar cvf test.tar 3.txt 3.txt 5.txt demo.txt --》创建一个归档文件test.tar

​ tar xvf test.tar —》释放归档文件

​ tar cvfz t1.tar.gz 3.txt 5.txt demo.txt —》z参数压缩成gzip格式文件

​ tar xvfz t1.tar.gz ----》解压gzip格式

​ tar cvfj t2.tar.bz2 3.txt 5.txt demo.txt —》j参数压缩成bz2格式文件

​ tar xvfj t2.tar.bz2 ----》解压bz2格式

tar xvfj t2.tar.bz2 -C /tmp

24、ln(link) 创建链接文件(硬链接、软链接)

===================================================

​ ln a.txt b.txt 创建一个硬链接

​ ln -s /mnt m —》创建一个软链接(符号文件)

25、pwd(present work directory) 显示当前工作路径

=================================================

​ pwd —》得到当前路径

26、who 显示系统上已登录的用户

==============================

​ who

​ 备注:ssh服务器安装使用

​ sudo apt install openssh-server

​ ifconfig 查看当前ip

27、adduser添加一个新的用户

===============================

​ sudo adduser zhangsan

28、write 给其他用户发消息

================================

​ write zhangsan

29、uname 查看系统信息

===============================

​ uname -a 打印所有信息

​ uname -p 查看当前处理器

30、通配符

===============================

​ 星号*: 代表任意长度任意字符串

​ cp *.txt …/ 把当前目录里面的所有的txt文件复制到上一级目录

​ 问号?: 代表一个任意字符

​ 花括号{}:创建序列

​ touch aa{1…9}.txt 创建出aax.txt文件,其中的x范围1~9

​ 中括号[]:只能查找

31、ps(process state)

=============================

​ ps -ef 查看当前系统进程信息

​ ps -aux 查看当前系统进程信息

​ 备注:

​ ps -ef | grep bash 筛选与bash相关的进程

32、top 动态显示进程信息

============================

​ Top 退出按Q

33、kill/killall 发送信号

================================

​ kill -l 查看信息所有的信号

​ kill -信号 进程号 kill -9 hello

​ kill 信号名 进程号 kill SIGKILL hello

​ killall -信号 进程名 killall -9 hello

​ killall 信号名 进程名 killall SIGKILL hello

​ 备注:

​ gcc 编译程序的命令

​ gcc -o hello hello.c 编译hello.c通过-o指定生成的可执行文件名字叫做hello

​ ./hello & 执行程序 &表示程序后台运行

34、df(disk format) 查看分区信息

==========================================

​ df -hT 查看磁盘使用情况,带单位显示

35、du(disk usage)查看磁盘使用情况

==========================================

​ du -sh dir/ 查看目录使用

36、chmod(change mode) 修改文件权限

==========================================

​ chmod 三位八进制 filename

​ chmod 0777 1.txt user、group、other对文件1.txt有全部权限

37、adduser/userdel 创建用户和删除用户

==================================

​ sudo adduser lisi 添加一个用户lisi

​ sudo userdel lisi 删除一个用户lisi

38、addgroup/delgroup 创建用户组和删除用户组

========================================

​ sudo addgroup Gtest 添加一个用户组Gtest

​ sudo delgroup Gtest 删除一个用户组Gtest

39、chown/chgrp 更改所属者、所属组

​ sudo chown zhangsan file 更改file所属者

​ sudo chgrp zhangsan file 更改file所属组

Linux的文件系统是以/开头的,其他的文件都是从这个地方开始的

Bin:系统中最常用的可执行文件(shell)

Sbin:存放可执行文件,不常用

Home:家目录

Tmp:Linux用来存放临时文件的

Dev:存放所有的设备文件

Lib:存放共享的库文件,bin和sbin的可执行文件的库

Etc:存放系统配置文件

Mnt:挂载目录

Usr:存放用户的文件,比如你用到的标准C库的头文件/usr/include 比如标准C库,/usr/lib

Apt-get 软件管理器

更新软件源

Sudo apt-get update

安装某一个工具

Sudo apt-get install xxx

卸载某一个工具

Sudo apt-get remove xxx

Vi编辑器

1、升级vi工具为vim

​ sudo apt install vim

2、修改vim的配置文件,使之可以使用方向键、鼠标、行号……

​ sudo gedit /etc/vim/vimrc

​ 删掉其中set前所有的",然后在最后一个set后加上set number

3、两种模式

​ 进入编辑模式:i o a

​ 进入命令模式:Esc

4、保存退出:命令模式输入:wq即可保存退出

快速到末尾:shift+g

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常见的shell命令 的相关文章

随机推荐

  • Git第十讲 Git如何正确使用log快速查找内容/提交

    在Git中 你可以使用不同的命令来快速查找指定内容或指定提交 下面我将介绍两种常用的方法 快速查找指定内容 要快速查找包含特定内容的文件或代码行 可以使用 git grep 命令 它类似于常见的 grep 命令 但是专门用于搜索Git仓库中
  • 以太坊交易确认数如何获取

    以太坊和比特币一样 都有一个最长链的概念 因此也有一个交易确认数的概念 当一个以太坊交易所在区块被新加入区块链时 该交易的确认数为1 之后每增加一个区块 该交易的确认数加1 显然 一个以太坊交易的确认数越多 就意味着该交易在区块链中埋的越深
  • html css js实现抽奖,原生(纯)js+html+css实现移动端抽奖转盘系统

    这是我前个月使用纯javascript html写出的一个抽奖转盘系统 按理来说 我应该在当时做完这个小系统 就应该立即写bike总结才对 但是本人之前没有在网上写博客的习惯 平时总结更加习惯写在纸上 但是现在发现卸载网上可能更好 博客中有
  • 【第26篇】Swin Transformer

    文章目录 摘要 1 简介 2 相关工作 3 方法 3 1 整体架构 3 2 基于移动窗口的自注意力 3 3 架构变体 4 实验 4 1 ImageNet 1K 上的图像分类 4 2 COCO 上的物体检测 4 3 ADE20K 上的语义分割
  • 2. ZK客户端与服务端建立连接的过程(基于NIO)

    ZK客户端与服务端建立连接的过程 引例 1 启动SendThread 2 状态初始化 3 开始连接 4 处理服务端连接响应 5 流程图 在上一篇 客户端启动源码分析 文章中讲到了客户端会使用两个线程 SendThread和EventThre
  • C#知识系列:nameof 运算符

    插眼 总结 获取变量名 避免因为变量名而声明字符串 参考 官方文档 https docs microsoft com zh cn dotnet csharp language reference operators nameof 其他参考
  • Qt 信号与槽 传输自定义结构体跨线程访问程序异常退出问题

    Qt 信号与槽 传输自定义结构体跨线程访问程序异常退出问题 在使用自定义结构体的时候发现在同一个线程里面的信号发送和槽函数访问使用是正常的 当跨线程信号与槽连接访问自定义结构体时发生访问异常程序异常退出 通过尝试找到问题 解决办法如下 自定
  • 基于STM32f103c8t6的测温枪设计过程

    体温枪设计 设计流程 一 开发板和模块的介绍 1 STM32F103C8T6开发板 2 MLX90614测温模块 3 TM1650红外数码管 二 硬件连接 1 STM32F103C8T6引脚图 2 MLX90614测温模块连接原理图 3 T
  • 实训报告:C&C++ 结构实训 - 深入学习与实践

    实训报告 C C 结构实训 深入学习与实践 引言 C和C 是广泛应用于软件开发领域的编程语言 它们为开发人员提供了强大的工具和灵活性 本篇文章将围绕 C C 结构实训展开 深入学习并实践其中的关键概念与技术 一 简介 C C 结构实训是一项
  • Spark内存管理

    概述 spark从1 6 0开始内存管理发生了变化 原来的内存管理由StaticMemoryManager实现 现在被称为Legacy 在1 5 x和1 6 0中运行相同代码的行为是不同的 为了兼容Legacy 可以通过spark memo
  • python综合案例

    综合案例 1 需求分析 2048游戏是一款数字益智游戏 如图所示 具体游戏规则如下 玩家每次可以选择上下左右其中一个方向移动 每移动一次 所有数字方块都会往移动的方向靠拢 相同数字方块在靠拢时会相加 每次移动完成后 系统会在空白的方块中随机
  • QSS的使用

    QSS官方文档 https doc qt io qt 5 stylesheet reference html 图标制作例子 normal hover press disable 图标制作 按钮设计指南 按钮多态的几种方法 一 程序应用qss
  • 微信小游戏入门案例——拼图游戏

    微信小游戏入门案例 拼图游戏 涉及内容 canvas组件 小程序界面绘图API 目录结构 pages game game js pages game game js 方块的初始位置 var num 00 01 02 10 11 12 20
  • Python 元组tuple详解(超详细)

    文章目录 Python内置函数 方法详解 元组tuple 1 创建元组 1 1 使用 创建元组 1 2 使用 tuple 函数 创建元组 1 3 元组 单个元素 1 4 元组 VS 列表 2 访问元组 2 1 下标索引访问 2 2 切片访问
  • qt 修改设计师界面ui不生效

    情况描述 我是之前用的vs编译器 编译的文件在代码界面 不喜欢这种方式 想要生成的文件都在一个界面 然后我又换回了MinGW编译器 然后在设计师界面修改了ui 重新编译一直不生效 网上常用两种方法 1 在设置中取消shadow 就会重新编译
  • Linux学习笔记 - Linux的文件目录与属性

    Linux的文件目录与属性 使用者与群组 这里面涉及三个概念 分别为user group other 先讲group 即组的概念 可以理解为一个项目的开发 一个组里面有若干个组员 每个组员负责一个模块的功能开发 大家都能够访问公共部分的代码
  • 数据结构与算法分析——第1~2章考试题

    判断题 1 1 The Fibonacci number sequence FN is defined as F0 0 F1 1 FN FN 1 FN 2 N 2 3 The time complexity of the function
  • Qt Installer Framework打包基础

    一 简介 Qt Installer Framework 简称QIF 提供了一组工具和实用程序来创建支持桌面Qt平台的安装程序 支持Linux Microsoft Windows和macOS操作系统 二 操作步骤 1 编译可执行程序文件 这里
  • 【java】SpringBoot2.X 通过druid-spring-boot-starter集成druid

    1 pom文件
  • 常见的shell命令

    文章目录 常用的shell命令 一 终端的使用 1 打开 2 关闭 3 放大或者缩小 4 在终端上复制 5 关闭当前进程 强制 二 shell命令 所有的命令输入完毕 按回车键执行 1 管理员权限的切换 2 退出管理员 3 临时使用管理员权