笔记の前言
这个笔记是去年刚学shell的时候写的,零零碎碎的东西,还是迁移过来吧,今后应该会继续补充。
笔记の本体
使用cd命令后面加上绝对路径,进入当前操作路径。
cd /home/jackwhitexr/desktop
使用pwd
查看当前的目录。
使用../
返回上一级目录,实际上 . 表示当前目录, ..表示上一级目录。使用ls命令查看当前操作路径下的文件夹和文件,使用 -a参数显示所有隐藏文件。
使用
mkdir hello
创建hello文件夹,使用rmdir hello
删除hello文件夹。mv file1 file2
将file1改名为file2,如果file2处是一个目录,那么就是move
移动操作。使用rm
删除文件。cp file1 file2
将file1复制一份,起名为file2。gcc 是linux下的编译器,使用
gcc -c hello.c
命令可以编译c文件,产生目标o文件,使用gcc -o hello hello.o
命令可以编译o文件,产生可执行文件hello。使用./可以执行脚本文件,前提是脚本文件需要有可执行的权限,使用chmod命令可以修改文件的权限,修改的格式为
chmod [ugoa] [+-]rwx [文件]
,其中ugoa是文件的所属,a表示all,即所有的用户,+表示添加权限,-表示去除一个文件已有的某个权限。通配符用于匹配一个或者多个字符,*匹配任意多个字符,[abced]匹配所有的在方括号内的字符,例如
ls [ab].txt
可以匹配到a.txt也可以匹配到b.txt,方括号的匹配只能匹配一个字符。一般Shell启动伴随着三个文件的打开,标准输入文件(键盘),标准输出文件(监视器),标准错误输出文件,分别对应文件描述符0,1,2,将输入输出改变来源或者去向被称为输入输出重定向,对于每条有输入和输出的shell命令,使用< a 将命令的输入变量来源重定向到文件a。
e.x. 在a文件中输入 3 4 5,使用read a b c <a
将输入改为a文件中的起始的三个字符。管道机制其实就是将前一个命令的输出作为后一个命令的输入。Shell运行脚本第一行使用
#! /bin/bash
指定命令解释器。‘#’用于注释单行,使用重定向。
<<block [注释部分] <<block
会把中间的输入作为:的输入,然而:(冒号)这条命令并不做任何事,所以相当于注释。if条件的判断表达式是一个statement,它的真假取决于表达式的返回值,如果返回0表示true,其他表示false,let可以简化表达式的书写。for循环有值表法和表达式法两种循环方式。
echo
命令输出后面的参数,使用$引用变量;在echo的表达式中使用反引号可以引用shell命令,输出shell命令的值而不是字符串本身。e.x. echo date`
输出日期而不是 “date”;
使用选项-n
不换行输出,使用-e
处理特殊字符。Linux系统中源的概念相当于软件更新服务器在/etc/apt/sources.list文件中放置了服务器的linux系统镜像文件。
tar命令
-j
使用bzip2压缩(对应扩展名为bz2),-z
使用 gzip进行压缩(对应扩展名为gz)
-v
显示处理过程
-f
指定解压文件名
-x
解压文件
-c
压缩文件
解压缩的话使用命令tar -xvf XXX
,解压完之后的文件夹名字是原文件的名字。
压缩文件的话使用命令tar -cvf XXX.gz XXX
将XXX压缩成为压缩包。
压缩解压缩命令总结点我。uname
查看系统信息PPA(Personal Package Archive)允许个人用户向Ubuntu提供软件,在系统中添加PPA就相当于添加了第三方软件的源,例如我要添加chrome稳定版本的,它的ppa是chrome-stable,可以使用
sudo add-apt-repository ppa:chrome-stable
来添加,然后update源下载就可以了。调整Xterm文字大小,
Ctrl+鼠标右键
选择文字大小即可。有些简单的命令是有中文帮助文件的,可以使用:
sudo apt-get install manpages-zh
来安装。第一次进入su之前需要设置root密码,
passwd
更改的是用户的密码,使用sudo passwd
设置一下root密码即可。
关于su和sudo的区别见这里。关于软件源的简单介绍,详细易懂。点击这里。
sudo ln -s dirA dirB
建立一个软符号链接。sudo apt-get -f install
用于修复软件的依赖关系。