zoukankan      html  css  js  c++  java
  • 第二周学习总结

    Linux大都在命令行下操作,不用或少用图形界面将是之后学习的重点和难点。

    Ctrl+d

    键盘输入结束或退出终端

    Ctrl+s

    暂定当前程序,暂停后按下任意键恢复运行

    Ctrl+z

    将当前程序放到后台运行,恢复到前台为命令fg

    Ctrl+a

    将光标移至输入行头,相当于Home

    Ctrl+e

    将光标移至输入行末,相当于End

    Ctrl+k

    删除从光标所在位置到行末

    Alt+Backspace

    向前删除一个单词

    Shift+PgUp

    将终端显示向上滚动

    Shift+PgDn

    将终端显示向下滚动

     

     

    字符

    含义

    *

    匹配 0 或多个字符

    ?

    匹配任意一个字符

    [list]

    匹配 list 中的任意单一字符

    [!list]

    匹配 list 中的任意单一字符以外的字符

    [c1-c2]

    匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]

    {string1,string2,...}

    匹配 sring1  string2 (或更多)其一字符串

    {c2..c2}

    匹配 c1-c2 中全部字符 {1..10}

     

     

    who 命令其它常用参数

    参数

    说明

    -a

    打印能打印的全部

    -d

    打印死掉的进程

    -m

    am i,mom likes

    -q

    打印当前登录用户数及用户名

    -u

    打印当前登录用户登录信息

    -r

    打印运行等级

     

    一个目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件

    修改文件权限:

    每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 "rwx"

    'g''o'还有'u',分别表示groupothersuser'+''-' 就分别表示增加和去掉相应的权限。

     

    FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

    FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin  /sbin 则应该要放置可执行文件等等。

    第二层则是针对 /usr  /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

     

    使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

    新建文件

    使用 touch 命令创建空白文件,使用 mkdirmake directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性,使用 -p 参数,同时创建父目录(如果不存在该父目录),使用cpcopy)命令复制一个文件或目录到指定目录。使用rmremove files or directories)命令,删除一个文件或目录。直接删除文件,可以使用-f参数强制删除。复制和删除目录时要使用-r-R参数。使用mv(move or rename files)命令,移动文件(剪切)mv 源目录文件 目的目录。将文件"file1"重命名为"myfile" mv 旧的文件名 新的文件名。rename命令可以批量重命名。这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示,可以加上-n参数显示行号。nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。

     

    使用declare命令创建一个变量,使用=号赋值运算符为变量赋值,读取变量的值,使用echo命令和$符号。关于变量名,并不是任何形式的变量名都是可用的,变量名只能是英文字母,数字或者下划线,且不能以数字作为开头。

    命令

    说明

    set

    显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量

    env

    显示与当前用户相关的环境变量,还可以让命令在指定环境中运行

    export

    显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量

    gcc 生成二进制文件默认具有可执行权限,不需要修改

    添加自定义路径到“PATH”环境变量:$ PATH=$PATH:/home/shiyanlou/mybin

     

    变量的修改有以下几种方式:

    变量设置方式

    说明

    ${变量名#匹配字串}

    从头向后开始匹配,删除符合匹配字串的最短数据

    ${变量名##匹配字串}

    从头向后开始匹配,删除符合匹配字串的最长数据

    ${变量名%匹配字串}

    从尾向前开始匹配,删除符合匹配字串的最短数据

    ${变量名%%匹配字串}

    从尾向前开始匹配,删除符合匹配字串的最长数据

    ${变量名/旧的字串/新的字串}

    将符合旧字串的第一个字串替换为新的字串

    ${变量名//旧的字串/新的字串}

    将符合旧字串的全部字串替换为新的字串

    可以使用unset命令删除一个环境变量。

    可以使用source命令来让其立即生效,source命令还有一个别名就是.,注意与表示当前路径的那个点区分开,虽然形式一样,但作用和使用方式一样,上面的命令如果替换成.的方式就该是$ . ./.zshrc,注意第一个点后面有一个空格,而且后面的文件必须指定完整的绝对或相对路径名,source 则不需要。

    与搜索相关的命令常用的有如下几个whereis,which,find,locate

    注意 find 命令的路径是作为第一个参数的, 基本命令格式为 find [path] [option] [action]

     

    文件后缀名

    说明

    *.zip

    zip程序打包压缩的文件

    *.rar

    rar程序压缩的文件

    *.7z

    7zip程序压缩的文件

    *.tar

    tar程序打包,未压缩的文件

    *.gz

    gzip程序(GNU zip)压缩的文件

    *.xz

    xz程序压缩的文件

    *.bz2

    bzip2程序压缩的文件

    *.tar.gz

    tar打包,gzip程序压缩的文件

    *.tar.xz

    tar打包,xz程序压缩的文件

    *tar.bz2

    tar打包,bzip2程序压缩的文件

    *.tar.7z

    tar打包,7z程序压缩的文件

    使用zip打包文件夹:

    $ zip -r -q -o shiyanlou.zip /home/shiyanlou 

    $ du -h shiyanlou.zip 

    $ file shiyanlou.zip

    -r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用du命令查看打包后文件的大小

     

    $ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip 

    $ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip

    这里添加了一个参数用于设置压缩级别-[1-9]1表示最快压缩但体积大,9表示体积最小但耗时最久。最后那个-x是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中,注意:这里只能使用绝对路径,否则不起作用。

    创建加密zip包,使用-e参数可以创建加密压缩包

    $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

    使用unzip命令解压缩zip文件

    $ sudo apt-get update

    $ sudo apt-get install libaa-bin

     

    使用 df 命令查看磁盘的容量加上`-h`参数,以更易读的方式展示

    -d参数指定查看目录的深度

     

    tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换

    tr [option]...SET1 [SET2]

    常用的选项有:

    选项

    说明

    -d

    删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配

    -s

    去除set1指定的在输入文本中连续并重复的字符

    col 命令可以将Tab换成对等数量的空格建,或反转这个操作。

    col [option]

    常用的选项有:

    选项

    说明

    -x

    Tab转换为空格

    -h

    将空格转换为Tab(默认选项)

    join命令用于将两个文件中包含相同内容的那一行合并在一起。

    join [option]... file1 file2

    常用的选项有:

    选项

    说明

    -t

    指定分隔符,默认为空格

    -i

    忽略大小写的差异

    -1

    指明第一个文件要用哪个字段来对比,,默认对比第一个字段

    -2

    指明第二个文件要用哪个字段来对比,,默认对比第一个字段

    paste这个命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。

    paste [option] file...

    常用的选项有:

    选项

    说明

    -d

    指定合并的分隔符,默认为Tab

    -s

    不合并到一行,每个文件为一行

    tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换

    tr [option]...SET1 [SET2]

    常用的选项有:

    选项

    说明

    -d

    删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配

    -s

    去除set1指定的在输入文本中连续并重复的字符

    col 命令可以将Tab换成对等数量的空格建,或反转这个操作。

    col [option]

    常用的选项有:

    选项

    说明

    -x

    Tab转换为空格

    -h

    将空格转换为Tab(默认选项)

    join命令用于将两个文件中包含相同内容的那一行合并在一起。

    join [option]... file1 file2

    常用的选项有:

    选项

    说明

    -t

    指定分隔符,默认为空格

    -i

    忽略大小写的差异

    -1

    指明第一个文件要用哪个字段来对比,,默认对比第一个字段

    -2

    指明第二个文件要用哪个字段来对比,,默认对比第一个字段

    paste这个命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。

    paste [option] file...

    常用的选项有:

    选项

    说明

    -d

    指定合并的分隔符,默认为Tab

    -s

    不合并到一行,每个文件为一行

     

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regexregexp  RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

    许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在 Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由 UNIX 中的工具软件(例如sedgrep)普及开的。正则表达式通常缩写成“regex”,单数有 regexpregex,复数有 regexpsregexesregexen

     

    pt-get使用各用于处理apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:

    工具

    说明

    install

    其后加上软件包名,用于安装一个软件包

    update

    从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表

    upgrade

    升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update

    dist-upgrade

    解决依赖关系并升级(存在一定危险性)

    remove

    移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件

    autoremove

    移除之前被其他软件包依赖,但现在不再被使用的软件包

    purge

    remove相同,但会完全移除软件包,包含其配置文件

    clean

    移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/

    autoclean

    移除已安装的软件的旧版本软件包

    下面是一些apt-get常用的参数:

    参数

    说明

    -y

    自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用

    -s

    模拟安装

    -q

    静默安装方式,指定多个q或者-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用

    -f

    修复损坏的依赖关系

    -d

    只下载不安装

    --reinstall

    重新安装已经安装但可能存在问题的软件包

    --install-suggests

    同时安装APT给出的建议安装的软件包

    安装软件包

    关于安装,如前面演示的一样你只需要执行apt-get install <软件包名>即可,除了这一点,你还应该掌握的是如何重新安装软件包。 很多时候我们需要重新安装一个软件包,比如你的系统被破坏,或者一些错误的配置导致软件无法正常工作。

    软件升级

    更新软件源 

    $ sudo apt-get update 

    升级没有依赖问题的软件包 

    $ sudo apt-get upgrade 

    升级并解决依赖关系 

    $ sudo apt-get dist-upgrade

  • 相关阅读:
    4、Cocos2dx 3.0三,找一个小游戏开发Hello World 分析
    Android Bluetooth开发
    详细解析BluetoothAdapter的详细api
    Android 蓝牙( Bluetooth)耳机连接分析及实现
    [Andriod官方API指南]连接之蓝牙
    Android蓝牙A2dp profile的使用
    Android中文API(129) —— AudioManager
    Android中的Audio播放:控制Audio输出通道切换
    JAVA ANDROID SOCKET通信检测(SERVER)连接是否断开
    Android Xfermode 实战 实现圆形、圆角图片
  • 原文地址:https://www.cnblogs.com/lxq20135309/p/4823835.html
Copyright © 2011-2022 走看看