shell的功能

  • 从键盘接收数据并回显
  • 解析输入的字符串,寻找程序,执行程序
    • shell解析字符串,这些字符串使用空格分开,第一部分是程序名,其余是参数
    • shell会从环境环境变量PATH所指定的位置去查找应用程序,当然也可以使用绝对路径或者相对路径直接找到程序
    • 找到程序后,启动程序,并传入参数

设置环境变量

永久修改环境变量

  • 对所有用户都有效 /etc/environment
#在此文件的最后追加上要加入PATH环境变量的路径
#重启或重新登录后生效
  • 对当前用户有效 ~/.bashrc
#在此文件的使用export追加要加入的环境变量即可
export PATH=$PATH:/opt/arm-2009q1/bin
export PATH=$PATH:/opt/wiznote
#重启或重新登录后生效。不过也可以直接使用
source ~/.bashrc
#直接生效

临时设置环境变量

export PATH=$PATH:/opt/wiznote

目录操作相关命令

  • pwd:print working directory
  • cd:change directory
  • ~:表示当前用户的家目录
  • .:表示当前目录
  • :表示当前目录的上级目录
  • -:表示上次操作的目录
  • /:表示Linux下的路径分割符,Windows下 / 表示路径分割符
  • 绝对路径:从根目录一级一级的找下去,需要完整的路径名
  • 相对路径:参照当前目录进行查找
  • mkdir:make directory 创建目录 <-p:parent的缩写 如果创建目录的父目录不存在,则需要加上-p参数>
  • rmdir:remove directory
    • rmdir不能删除非空目录

文件操作相关命令

  • touch: linux文件名区分大小写,不能创建已有文件的同名文件
  • mv:(move的缩写):修改文件(目录)名,移动文件
  • cp:(copy的缩写):复制文件(目录)
    • -r 递归复制
    • -i 如果复制的文件有同名文件,-i会确认是否覆盖之前的同名文件
  • rm:(remove的缩写)删除文件
    • -i 删除文件前需要确认 y 确认删除 n取消删除
    • -r 递归删除

文件查看和编辑

  • cat:cat filex 后面可跟多个文件,多个文件的内容会被依次输出

    • -n 显示行号

清屏

  • clear:实质是刷新屏幕,会保留历史记录,只是让终端向后翻页
  • reset:cat filex 后面可跟多个文件,多个文件的内容会被依次输出
  • 注意:clear和reset命令的实际效果自我感觉和对应的linux发行版还是有关系的。目前在ubuntu上的却如上所述。但是在deepin v20上两个命令的实际效果却恰恰相反。

帮助

  • man:手册的侧重点是1,2,3

    • 1 :可执行程序或者shell命令
    • 2 :系统调用------------内核提供的函数(查头文件)
    • 3 :库调用--------------常用的函数库
    • 4 :特殊文件------------在/dev下的设备文件
    • 5 :文件格式和约定-------对一些文件进行解释,如/etc/passpd
    • 6 :游戏程序------------游戏程序
    • 7 :杂项----------------包括宏包和约定
    • 8 :系统管理员使用的命令-通常只有root可用
    • 9 :内核相关------------Linux内核相关文件
  • info:也可查询相关命令的信息,没有像man格式化的那么统一
  • –help或-help或-h:某些命令自带的help选项,以对此命令的使用进行说明。

find

查找符合条件的文件
格式:find 目录 [选项] [条件]

  • **-name:**按名字查找

    • 条件可以使用通配符
    • 目录未指定则表示在当前目录查找
  • find也可用于查找最近几天,几小时之内(之前有变动的文件)
    • find . -time -2 :查找当前目录下两天内有变动的文件
gaoy@gy-PC:~$ find GY/git/ -name "*.md"
GY/git/gOnvifServer/README.md
GY/git/gOnvifServer/README.en.md
GY/git/linux-c/README.md

grep

目的:使用grep来查找文件中符合条件的字符串
格式:grep [选项] [查找模式] 文件名

grep -rn “字符串” 文件名

  • -r:递归查找
  • -n:显示目标位置的行号
  • -w:全词匹配
gaoy@gy-PC:~/Desktop/sh$ grep  -n "hxGUI"  hxGUIUp.sh
2:  rm /home/bin/HISI_HI3536V100_hxGUI.bin
3:  rm /home/buffer/HISI_HI3536V100_hxGUI.bin
4:  scp gy@192.168.168.240:/home/gy/HISOME_NVR/HI3536/svn/hxGUI/release/hisome/bin/HISI_HI3536V100_hxGUI.bin  .
5:  ln -sf /home/buffer/HISI_HI3536V100_hxGUI.bin /home/bin/HISI_HI3536V100_hxGUI.bin
6:  chmod +x /home/buffer/HISI_HI3536V100_hxGUI.bin
7:  ps | grep HISI_HI3536V100_hxGUI.bin
8:  kill -9 `pidof HISI_HI3536V100_hxGUI.bin`
11: ps | grep HISI_HI3536V100_hxGUI.bin

file

目的:识别文件类型
格式:file 文件名

gaoy@gy-PC:~$ file .bashrc
.bashrc: ASCII text ##ASCII编码的文本文件
gaoy@gy-PC:~/Pictures$ file /bin/pwd
/bin/pwd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=bdd14130958ba45c3fe443b2d23dee6bb7d12427, stripped ##64位可执行文件

which 和whereis

目的:查找命令或应用程序的所在位置
格式:which 命令/应用程序名

gaoy@gy-PC:~/Pictures$ which  pwd
/usr/bin/pwd

格式:和whereis 命令/应用程序名
查找到可执行程序的位置,以及手册页的位置,还有头文件的位置

gaoy@gy-PC:~/Pictures$ whereis pwd
pwd: /usr/bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz

压缩

目的:在网络传递文件时,可以先将文件压缩再传递以减少网络带宽
类型

  • 有损压缩:如mp4,mp3格式,即压缩过程中,减少了数据量。
  • 无损压缩:普通文件的压缩,为了保证信息的正确,不希望压缩或解压缩后文件出现问题

常用压缩命令

单文件压缩:gzip,bzip2

gzip的常用选项:以.gz结尾

  • -l:列出压缩文件的内容
  • -k:压缩后解压时,保留原来的压缩文件
  • -d:将压缩文件进行解压缩,不带-k的话解压后不再保留之前的压缩文件
  • **注意:**gzip不加任何选项此时为压缩文件,会生成.gz结尾的压缩文件,并删除原有文件。推荐使用gzip -k 来压缩源文件: gzip -K 源文件
  • 注意: 相同的文件内容,文件名不同,压缩后的压缩文件大小也不同。gzip只能压缩单个文件,不能压缩目录
###列出压缩文件内容
gaoy@gy-PC:~/mypwd$ gzip -l pwd.1.gz compressed        uncompressed  ratio uncompressed_name872                1481  42.3% pwd.1
###解压缩
gaoy@gy-PC:~/mypwd$ gzip -kd pwd.1.gz
gaoy@gy-PC:~/mypwd$ ls
pwd.1  pwd.1.gz
###压缩
gaoy@gy-PC:~/mypwd$ gzip  -k pwd.2
gaoy@gy-PC:~/mypwd$ ls
pwd.1.gz  pwd.2  pwd.2.gz

bzip2的常用选项:以.bz2结尾

  • -k:压缩后解压时,保留原来的压缩文件
  • -d:将压缩文件进行解压缩,不带-k的话解压后不再保留之前的压缩文件
  • **注意:**bzip2不加任何选项此时为压缩文件,会生成.bz2结尾的压缩文件,并删除原有文件。推荐使用bzip2 -k 来压缩源文件: bzip2 -K 源文件
  • 注意: 相同的文件内容,文件名不同,压缩后的压缩文件大小也不同。bzip2只能压缩单个文件,不能压缩目录
###解压缩
gaoy@gy-PC:~/mypwd$ ls
pwd.2
gaoy@gy-PC:~/mypwd$ bzip2 -k pwd.2
gaoy@gy-PC:~/mypwd$ ls
pwd.2  pwd.2.bz2
###压缩
gaoy@gy-PC:~/mypwd$ ls
pwd.2
gaoy@gy-PC:~/mypwd$ bzip2 -k pwd.2
gaoy@gy-PC:~/mypwd$ ls
pwd.2  pwd.2.bz2

压缩有两个参数:压缩时间,和压缩比。一般情况下小文件用gzip来压缩,大文件使用bzip2来压缩

#pwd.2是一个小文件---可见压缩后gzip得到的文件更小
gaoy@gy-PC:~/mypwd$ ls -l
总用量 12
-rw-r--r-- 1 gaoy gaoy 1481 3月   5 16:30 pwd.2
-rw-r--r-- 1 gaoy gaoy  942 3月   5 16:30 pwd.2.bz2
-rw-r--r-- 1 gaoy gaoy  878 3月   5 16:30 pwd.2.gz
#sysMgnt.db是一个相对较大的文件---可见压缩后bzip2得到的文件更小
gaoy@gy-PC:~/mypwd$ ls -l
总用量 6948
-rw-r--r-- 1 gaoy gaoy 6209536 3月   5 16:47 sysMgnt.db
-rw-r--r-- 1 gaoy gaoy  328151 3月   5 16:47 sysMgnt.db.bz2
-rw-r--r-- 1 gaoy gaoy  572835 3月   5 16:47 sysMgnt.db.gz

多个文件和目录使用tar

tar:可对多个目录,多个文件,进行先打包再压缩。

  • -c: 创建用来生成文件包
  • -x: 表示提取,从文件包中提取文件
  • -t:可查看压缩的文件
  • -z: 以gzip的方式进行处理,它与-c结合表示压缩,与-x结合表示解压缩
  • -j: 以bzip2的方式进行处理,它与-c结合表示压缩,与-x结合表示解压缩
  • -v:详细报告tar处理信息
  • -f: 表示文件,后面接着一个文件名
  • -C <指定目录>:表示解压到指定目录

tar打包,gzip压缩

  • 压缩:tar -czvf 压缩包名称.tar.gz 待压缩的目录名
  • 查看:tar -vtf 压缩包名.tar.gz
  • 解压:
    • 解压到当前目录:tar -xzvf 压缩包.tar.gz
    • 解压到指定目录:tar -xzvf 压缩包.tar.gz -C 目录

tar打包,bzip2压缩

  • 压缩:tar -cjvf 压缩包名称.tar.bz2 待压缩的目录名
  • 查看:tar -vtf 压缩包名.tar.bz2
  • 解压:
    • 解压到当前目录:tar -xjvf 压缩包.tar.bz2
    • 解压到指定目录:tar -xjvf 压缩包.tar.bz2 -C 目录

注意: bzip2在大文件压缩比较有优势。

嵌入式Linux_环境搭建篇_简单的shell命令相关推荐

  1. CRAB快速开发平台学习教程《一》:环境搭建篇

    智能时代,软硬更新,实在太快.从最开始的只有少量外设资源的8051,到现在资源丰富性能超群的ARM,才经历短短十几二十年功夫.软件的功能也越来越多,代码量也越来越庞大,简易而快速开发的方式,貌似离我们 ...

  2. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  3. 树莓派4B爽上流安装python3的OpenCV(人脸检测识别—门禁“环境搭建篇”)

    树莓派4B安装OpenCV3.4.0人脸检测识别-门禁"环境搭建篇" 前言 一.准备工作 PC端软件 二.搭建树莓派环境 拓展TF内存卡 Tips:换源(python软件源) 修改 ...

  4. ubuntu12.04嵌入式开发环境搭建(各种问题、各种配置)

    ubuntu-12.04嵌入式开发环境搭建 先安装ubuntu-16.04  *** 想使用root用户登陆的,操作如下 给root用户设定一个密码 supreme@supreme:~# sudo p ...

  5. 安装目录opencv for android 教程(环境搭建篇)

    这几周朋友几篇文章介绍了改安装目录的文章. 关联文章的地址 最近android开发异常炽热,随着手机性能越来越高,图像处程序也越来越重要, 由于opencv for android 网上教程大多为英文 ...

  6. Python爬虫系列(一)环境搭建,以及简单使用,体验他的强大

    python初体验 python环境搭建 搭建过程中问题解决 工具安装 简单使用 强大的工具是开发的利器! 1.学习Python爬虫需要的python环境,Mac一般都自带了. 但是为了简单,上手更快 ...

  7. 我的Go+语言初体验——环境搭建篇(直男程序员的真实体验)

    目录 前言 官网体验 环境搭建 总结 前言 当我第一眼看到这个活动的时候,吸引我的不是所谓的奖励,而是活动文章中的"填补了国人开发者在数据科学领域的空白",很有志气的一句话,我喜欢 ...

  8. Hexo+github搭建个人博客-环境搭建篇

    一.概述 我们使用Hexo + Github搭建个人博客,我们自然不能错过,事不宜迟,我们现在立马来认识一下,他们究竟是何方神圣吧. 1.1 关于 GitHub 1.1.1 Github 接触编程一段 ...

  9. linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建

    南京邮电大学通达学院 实 验 报 告 实验 实验三题目 嵌入式Linux开发环境的搭建 课程名称 嵌入式驱动开发实验 学院 专业 班 实验者学号同做者学号 08002210 姓名 毛骏超 同做者学号 ...

最新文章

  1. win7安装MongoDB学习笔记
  2. MIT_18.03_微分方程_Convolution_卷积_Notes
  3. 将CAPTCHA添加到您的GWT应用程序
  4. java 五子棋项目_Java项目如何实现五子棋小游戏
  5. 单选框 RadioButton 1130
  6. 帆软报表实现Excel导入,并校验数据
  7. 10 年 Java 老兵宝藏资料,倾情奉献!
  8. Java JavaFX 批量修改文件夹里面的文件的名字
  9. BigDecimal类的常用算法
  10. 关于艾宾浩斯曲线的一点思考
  11. android camera慢动作,慢动作相机app下载-慢动作相机软件 安卓版v1.1-PC6安卓网
  12. 计算机软件技术就业方向,软件技术的就业前景和就业方向
  13. 本周最新文献速递20210718
  14. 如何开通个人微信公众号(订阅号)
  15. 王者荣耀微信转qq服务器,王者荣耀转区qq转微信可以吗 qq转区微信可以吗
  16. Dicom打印工作站
  17. 49天精通Java,第13天,java字符串简介
  18. 用HTML+CSS做成的一个简单网页(小兔鲜儿)
  19. ‘underscore系列之throttle“‘
  20. DO447构建高级作业工作流--创建作业模板调查以设置工作的变量

热门文章

  1. win10android文件传输,win10电脑如何发送文件到安卓手机?win10电脑发送文件到安卓手机的方法...
  2. keil无法单步c语言,在keil单步调试的时候,总调试进不了头文件(单步),直接嗖的一下就飞到了函数末尾...
  3. 对图片进行涂鸦并保存的的功能实现过程
  4. echarts柱状图 小方格的格式 (象形柱状图绘制)
  5. python读取文本两个数字的成语_【十分钟Python知识点】让文本数据更加生动——词云工具推荐...
  6. PHP guzzle异步请求数据,Guzzle中的异步请求
  7. linux 端口预留,预留端口避免占用ip_local_reserved_ports
  8. 实用 | 数据挖掘的十大算法
  9. 科普技术贴:个人开发者的那些赚钱方式
  10. Painter11快捷键中英文对照表