韦东山嵌入式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 指定目录;
posted @ 2019-11-26 21:05  云远·笨小孩  阅读(137)  评论(0编辑  收藏  举报