zoukankan      html  css  js  c++  java
  • 韦东山嵌入式Linux学习笔记-2-Linux基础

    Linux是什么

    1. Linux内核+GNU工程各种工具和数据库=Linux发行版
    2. Linux只是一个内核,Linux发行版有很多,如ubuntu和centos。发行版由个人,团队维护。
    3. Linux发行版一般包括:用于简化系统初始安装的iso镜像;桌面软件(Ubuntu下的GNOME和KDE); 应用软件(文本编辑器vi,编译器,办公套件,科学工具等);软件安装和升级的集成管理器(Ubuntu的apt管理器).
    4. 使用虚拟机VMWare进行开发
      • 解压16.02虚拟机;
      • 在VMWare中打开此虚拟机.
    5. 按视频学习Linux基本操作

    Linux 常用命令

    1. Windows系统上的命令行,常见的命令有

      • cd: 打开目录;
      • dir: 显示当前目录所有文件;
      • md: 创建子目录;
      • rd: 删除目录;
      • cls: 清屏;
    2. Linux系统的命令:

      • Ctrl+Alt+T: 打开Terminal;

      • pwd: (Print Working Directory)打印当前所在路径;

      • ls: (list)列出当前目录所有文件;

      • ls [dir] -l显示目录[dir]下的所有文件的详细信息;

      • ls -a 显示隐藏文件;

      • ls -h 将文件大小以KB、MB、GB来表示;

      • cd: (Change Directory)切换路径;

      • cd ..:返回上级路径;

      • cd ~: 切换到/home/[username]用户家目录;

      • cd ../..: 切换到上上级目录(路径分隔符是斜杠/);

      • cd -: 切换到上一次的路径.

      • mkdir [foldername]: 新建文件夹;

      • mkdir -p dir1/dir2: 创建多级目录,若父目录不存在,需要使用-p参数。

      • rmdir [folder]: 删除空文件夹,不能删除有其他文件/目录的文件夹.

      • rmdir -r [folder]: 删除非空文件夹, -r 表示递归删除.

      • touch [filename]: 在当前目录新建文件,不能新建同名的文件,file1和File1是不同名的;

      • mv [旧文件名] [新文件名]: 重命名文件;

      • mv [旧目录名] [新目录名]: 重命名目录;

      • mv [文件名] [目录名]: 移动文件到某一目录.

      • cp [srcFileName] [dstFileName]: 复制src文件到dst文件.

      • cp [srcFileName] [dstDir]: 复制src文件到dstDir目录.

      • cp -r [srcDir] [dstDir]: 复制srcDir文件夹到dstDir文件文件夹,-r 表示递归复制.

      • cp -i [srcFile] [dstDir]: 要求确认是否覆盖同名文件.

      • rm [filename]: 删除文件.

      • rm -i [filename]: 删除时要求确认是否删除.

      • rm -r [dir]: 递归删除dir目录.

      • rm -ir [dir]: 选项可以复合使用.

      • cat [filename]: 将文件内容显示到终端中.

      • cat [filename1] [filename2]: 将多个文件内容依次显示到终端中.

      • cat -n [filename]: 将文件内容显示到终端中,并显示行号.

      • gedit [filename]: 使用gedit打开文件进行编辑.

      • vi [filename]: 使用vim打开文件进行编辑.

      • clear:刷新屏幕,保留历史命令操作记录,它让终端向后翻一页.

      • reset:初始化屏幕,清除历史命令操作记录.

      • ps: 查看进程;

      • echo $PATH: 打印环境变量PATH的值.

      • man ls: (Manual)查看ls的Help文档,优先使用man来查看帮助信息.

      • man man: 查看man的Manual文档,然后按q退出查看.

      • man 2 open: 查看open命令的系统调用.

      • info ls:查看ls的帮助信息;

      • ls --help: 查看ls自带的帮助信息.

      Shell程序在收到pwd[Enter]命令后,根据该字符串,在环境变量Path决定的默认路径下去匹配相应的命令(可执行程序),把参数传递给应用程序,并执行之.

      • 设置PATH环境变量export PATH=$PATH:/my/dir.,遇到Command not found时,一般是因为环境变量PATH中未设置该路径,或它不是可执行的程序。
      • chmod +x [filename]: 修改文件的可执行权限;

      Shell程序支持直接运行绝对/相对路径下的可执行程序.如/home/book/myexe./myexe.

    Linux命令提示符

    命令提示符: UserName@HostName:~$

    • ~: 当前所在的目录,~表示/home/[UserName]目录;

    • (: 用户种类提示符,`)表示普通用户,#`表示root管理员用户.

    • Linux命令的格式:命令 [选项] [参数]

    Linux的目录结构

    / ------根目录
    |----bin
    |----home
    |----UserName
    |----guest
    |----usr
    |----lib
    |----bin
    |----include

    按Tab自动补全目录,文件名.

    Vi编辑器

    • 配置vi编辑器: cd /etc/vim,cp vimrc ~/.vimrc,cd ~,gedit .vimrc,复制以下内容后保存;
    "关闭兼容功能"
    set nocompatible 
    "显示行号"
    set number
    "编辑时 backspace 键设置为2个空格"
    set backspace=2
    "编辑时 tab 键设置为4个空格"
    set tabstop=4
    "设置自动对齐为4个空格"
    set shiftwidth=4
    "搜索时不区分大小写"
    set ignorecase
    "搜索时高亮显示"
    set hlsearch
    

    vi的命令如下:

    • vi filename: 打开/新建文件;

    • i,进入"INSERT"模式,在光标前插入模式,按ESC返回一般模式.

    • o,在当前行之下新开一行,并把光标移动到行首.

    • /abc进入命令行以查找文本, 按ESC返回一般模式.

    • :w保存文件.

    • :q!不保存,退出.

    • :wq保存并退出.

    • 一般模式下,H,J,K,L分别是左,下,上,右,可以移动光标.

    • ngg跳转到第n行的行首;

    • G跳转到末位行;

    • 0移动到当前行行首;

    • $移动到当前行行末;

    • fx搜索当前行中下一个x所在位置.

    • yy (yank)复制当前行;

    • nyy从该行开始复制n行;

    • P在当前行之后粘贴新行;

    • dd删除当前所在行;

    • ndd从该行开始删除n行;

    • u撤销上一个操作;

    • x删除光标所在位置的字符.

    • /str 从光标处向后搜索字符串str,后按下n下一个,N上一个;

    • %s/str1/str2/g 将文件中所有的str1替换为str2, "s(substitute)"表示替换,g(global)表示全局替换.

    • %s/str1/str2/gc``c(confirm)表示替换时需要确认.

    Linux其他命令

    • 命令格式find 目录名 选项 查找条件,如find /home/book/dira/ -name "test1.txt"dira下查找nametest1.txt的文件.

    • find /home/book/dira/ -name "*.txt" 查找指定目录的所有.txt文件,*是通配符.

    • find /home/book/dira/ -name "dira" 查找指定目录下是否有"dira";

    • find -name "*.txt" 查找当前目录下的所有.txt文件.

    • find /home -mtime -2 查找home目录下两天之内有改变的文件.

    • grep [选项] [查找模式] [文件名] 查找文件中符合条件的字符串;

    • grep -rn "str" 文件/目录 (-r)递归地查找文件/目录中含有字符串str的位置,并输出其行号(-n);

    • grep命令支持-w选项以实现全文匹配;

    • file ~/.bashrc 为ASCII 编码的text类型

    • file ~/.vimrc 为UTF-8 Unicode 编码的text类型

    • file ~/Pictures/* 如图形文件JPEG/PNG/BMP格式

    • file ~/100ask/ 为directory表明这是一个目录

    • file /bin/pwd 出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件

    • file /dev/* 出现character special(字符设备文件)、 block special(块设备文件)等

    • which 命令名/应用程序名 查找程序所在目录

    • which pwd 定位到/bin/pwd

    • which gcc 定位到/usr/bin/gcc

    • whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

    • 单个文件的压缩(解压)使用gzip 和bzip2; 多个文件和目录使用tar;

    • gzip的常用选项

      • -l(list) 查看压缩文件的内容
      • -k(keep) 在压缩或解压时,保留原压缩文件.
      • -d(decompress) 将压缩文件进行解压缩.
      • 一般解压使用gzip -kd pwd.1.gz;
      • 压缩文件时gzip -k mypwd.1 得到了一个.gz结尾的压缩文件
    • bzip2的常用选项

      • -k(keep) 在压缩或解压时,保留原压缩文件.
      • -d(decompress) 将压缩文件进行解压缩.
      • 一般解压使用bzip2 -kd pwd.1.bz2;
      • bzip2 -k mypwd.1 得到了一个.bz2结尾的压缩文件

      一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。使用tar打包文件,然后使用gzip/bzip2压缩;

    • tar常用选项

      • -c(create) 表示创建用来生成文件包
      • -x:表示提取,从文件包中提取文件
      • -t可以查看压缩的文件。
      • -z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
      • -j使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
      • -v(verbose)详细报告tar处理的信息
      • -f(file)表示文件,后面接着一个文件名。
      • -C <指定目录> 解压到指定目录
      • 压缩命令: tar czvf 压缩文件名 目录名;
      • 查看命令: tar tvf 压缩文件名;
      • 解压命令: tar xzvf 压缩文件名;
      • 解压到:tar xzvf 压缩文件名 -C 指定目录;
  • 相关阅读:
    MySQL百万级数据量分页查询方法及其优化
    聊一聊二维码扫描登录原理
    在吗?认识一下JWT(JSON Web Token) ?
    怎样和领导汇报工作,更容易获得升职加薪?谈谈和领导汇报的艺术
    javascript sleep pause 实现
    google 根据地址得ip 并显示
    javascript 闭包
    javascript 对象 telecom
    javascript 对象
    google maker 标注
  • 原文地址:https://www.cnblogs.com/charleechan/p/11938446.html
Copyright © 2011-2022 走看看