一、Linux下解压缩文件
不同的后缀的文件解压缩的命令都不一样,总结如下:
(1)*.tar
—> 用 tar –xvf 解压
(2)*.gz
—> 用 gzip -d 或者 gunzip 解压
(3)*.tar.gz 和 *.tgz
—> 用 tar –xzf 解压
(4)*.bz2
—> 用 bzip2 -d 或者 bunzip2 解压
(5)*.tar.bz2
—> 用 tar –xjf 解压
(6)*.Z
—> 用 uncompress 解压
(7)*.tar.Z
—> 用 tar –xZf 解压
(8)*.rar
—> 用 unrar e解压
(9)*.zip
—> 用 unzip 解压
参数:
-c: create 建立压缩档案的参数;
-x: 解压缩档案的参数;
-z: 是否需要用gzip压缩;
-v: 压缩的过程中显示档案;
-f: 置顶文档名,在f后面立即接文件名,不能再加参数。
例如:将 /source/kernel.tgz 解压到 /source/linux-2.6.29目录:tar -zxvf /source/kernel.tgz -C /source/ linux-2.6.29
将 linux-2.6.29目录 压缩到 kernel.tgz:tar czvf kernel.tgz linux-2.6.29
二、Ubuntu常用操作:
(1)查看:
ls
查看目录
ls -a
查看所有子目录及文件,包括隐藏的
ll
查看文件详细信息,包括创建信息权限
ls --color
查看文件的颜色 (白色->普通文件;蓝色->目录;绿色->可执行文件(使用./文件名执行); 红色->压缩文件)
(2)进入
cd 目录名
进入到x - MIUI适配组 - Formalxx目录
cd ..
返回上级
cd /home
返回当前用户的home目录
cd ~
返回到根目录
(3)查看路径
pwd
查看当前路径
(4)创建、删除文件或目录
sudo mkdir 目录名
创建新目录
rm -rf 文件名或目录名
删除文件或目录
(参数r:表示递归删除; 参数f:表示强制删除;参数i:表示交互式删除,删除钱需要用户进行确认)
(5)复制
cp [参数] 原文件或目录 目标文件或目录
文件或目录的复制
( -a 通常在拷贝目录时使用,递归地拷贝所有目录及子目录文件,并保留链接及文件属性
-d 拷贝时保留链接
-f 删除已经存在的目标文件而不提示
-i 在覆盖目标文件之前给出提示,要求用户确认
-p 将其修改时间和访问权限同时复制到新文件中
-r 若给出的原文件是目录,则递归复制其下所有子目录文件
-l 不Ubuntu设置ccache做拷贝,只是链接文件 )
(6)修改权限
chmod 777 文件名
表示赋予所有的权限
(注意:各参数所表示的权限:-x 执行; -r 读; -w 写)
chmod +w 文件名
表示增加写的权限
chmod -w 文件名
表示删除写的权限
(7)使用apt安装软件
sudo apt-get install vim
使用apt安装vim编辑器
三、vim的退出相关命令
(注:首先按ESC键 跳到底部命令模式),然后输入:
:w 保存不退出
:w! 强制保存不退出(!表示强制)
:q 不保存退出
:q! 不保存文件并强制退出
:wq 保存并退出
:wq! 强制保存并退出
:e! 放弃所有修改,从上次保存文件开始再编辑
:w file 将修改后内容另外保存到 file 中,不退出
:set nu 显示行号
:行号 定位到指定行
/要查找的内容 搜索指定内容(按n键,跳转到下一个; 按N键,跳转到上一个)
😒/要查找的字符串/要替换的字符串
四、编译源码时,需要切换jdk的版本
sudo update-alternatives --config java
sudo update-alternatives --config javac
如果没有将jdk路径添加进系统,需要先添加:
sudo update-alternatives --install /usr/bin/java java ~/miui_sj/java/jdk1.6.0_45/bin/java 700
sudo update-alternatives --install /usr/bin/javac javac ~/miui_sj/java/jdk1.6.0_45/bin/javac 700
sudo update-alternatives --install /usr/bin/jar jar ~/miui_sj/java/jdk1.6.0_45/bin/jar 700
( 注:这里的700是优先级, ~/miui_sj/java/jdk1.6.0_45/bin是自己安装jdk的目录,有可能存在切换java版本使用java-version不生效。)
解决办法:退出用户,重新登录。
五、环境变量配置
echo $PATH
显示当前环境变量(多个路径中间 “:” 分隔)
PATH="$PATH:/要添加的路径"
添加“/要添加的路径”目录,到之前环境变量后面(临时添加)
PATH="/要添加的路径:$PATH"
添加“/要添加的路径”目录,到之前环境变量前面(临时添加)
打开 gedit ~/.bashrc 文件,最末位置添加命令:PATH=$PATH:/要添加的路径
(永久添加)
source ~/.bashrc
使添加操作后的 ~/.bashrc文件生效
( 注:source方法执行脚本,是在父进程中执行的,可以在不注销系统的同时,让某些写入~/.bashrc的设置生效。)
which arm-linux-gcc
添加路径确认
ccache -M 50G
设置cache最大内存为50G
六、Ubuntu下source、sh、bash、./ 执行脚本的区别
1)source命令用法:source FileName
作用:在当前bash环境下,读取并执行FileName中的命令。(该filename文件可以无"执行权限")
注:该命令通常用命令“.”来替代。
如:source .bash_profile
和 . .bash_profile
两者等效。
source(或 .)命令,通常用于重新执行刚修改的初始化文档。
source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效。
2)sh、bash的命令用法:sh/bash FileName
作用:打开一个子shell来读取并执行FileName中命令。(该filename文件可以无"执行权限")
注:运行一个shell脚本时,会启动另一个命令解释器。
每个shell脚本有效地运行在父shell的一个子进程里,这个父shell是指在一个控制终端中给你命令指示符的进程。
shell脚本也可以启动他自已的子进程,这些子shell(即子进程)使脚本并行、有效率地,同时运行脚本内的多个子任务。
在Ubuntu中,sh只是bash的一个链接。由于是在子shell中执行,脚本设置的变量不会影响当前shell。
3)./的命令./FileName用法: ./FileName
作用:打开一个子shell来读取并执行FileName中命令。(该filename文件需要"执行权限")