Linux的详细学习
常用命令
由于书写习惯,上排为命令,下排为解释。
shutdown –h now
关闭系统
rm –rf /test
删除
mkdir zxl
创建一个叫做“zxl”的目录
cd /zxl
进入‘/zxl’目录
mkdir test1 test2
同时创建两个目录
mkdir -p tmp/dir1/dir2
创建一个目录树
pwd
显示工作路径
ls
查看目录中的文件
ls -l
显示文件和目录的详细资料
tree
显示文件和目录由根目录开始的树形结构
rmdir dir1
当前路径下,删除一个叫dir2文件
rm –rf dir1
无提示删除一个叫做“dir1”的目录并同时删除其内容;
rm -rf test1 test2
同时删除两个目录及它们的内容
mv test1 test3
将test1重命名为test3
cp file1 file2
复制一个文件
cp dir/* .
复制一个目录下的所有文件到当前工作目录
cp –a tmp/dir1 .
复制tmp目录下的dir1全部文件
cp –a dir1 dir2
复制一个目录
cp –r dir1 dir2
复制一个目录及子目录
Linux下的软连接和硬链接的不同
a)链接是一种在共享文件和访问它的用户的若干项之间建立联系的一种方法。Linux中包括两种链接,硬链接和软链接,软链接又称为符号连接。
b)在linux系统中,内核为每一个新创建的文件分配一个索引节点,每个文件都有唯一一个inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置,文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存中,从而实现文件的快速访问。系统是通过索引节点而不是文件名来定义每一个文件。
c)硬链接就是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用ln命令来建立硬链接。
d)软链接又叫符号链接,这个文件包含了另一个文件的路径名,可以是任意文件或目录,可以链接不同文件系统的文件,和win下的快捷方式差不多。可以用ln -s命令来建立软链接。
find / -user user1
搜索属于用户“user1”的文件和目录
tar –cvf archive.tar file1
创建file1的非压缩的archive.tar压缩文件。
bzip2 file1
将file1压缩
bunzip2 b.doc.bz2
解压一个叫做“b.doc.bz2”的文件
gzip file1
将file1压缩成file1.gz文件
gunzip file1.gz
解压文件
gzip -9 1.txt
最大程度压缩
rar a a.rar a
创建a的a.tar压缩文件
rar a b.rar tmp1 tmp2 tmp4
同时压缩 tmp1 2 4到b.rar文件夹中
rar x a.rar
解压a.rar
tar -cvf c.tar a
创建一个非压缩的tarball
tar –tf c.tar
显示一个包中的内容
tar -xvf archive.tar
释放一个包,同上
tar -xvf c.tar -C d
将c.tar释放到d目录下
zip file1.zip file1
创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1
将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip
解压一个zip格式压缩包
cat 111.txt
查看文件内容
cat –n 111.txt
查看111.txt文件的内容,并且由1开始对所有输出行进行编号。
cat -s f1.txt
当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
cat -e f1.txt
在输出内容的每一行后面加一个$符号
cat -b f1.txt
查看f1.txt文件的内容,用法与-n相似,只不过对于空白行不编号。
cat f1.txt f2.txt
同时显示f1.txt和f2.txt文件内容,注意文件名之间以空格分隔,而不是逗号。
cat -n f1.txt>f2.txt
对f1.txt文件中每一行加上行号后然后写入到f2.txt中,会覆盖原来的内容,文件不存在则创建它。
touch a.txt
改变文件的读取时间,若文件不存在,系统建立一个新的文件。
ls –l
可以显示档案的时间记录
touch a
改变档案的读取时间记录。
touch m
改变档案的修改时间记录。
touch c
假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
touch –version
列出版本信息
chomd 777 XX
修改文件权限
find -name AudioService.java
…/ 或者 . 这个是当前目录,就是现在所在的位置
… 是返回当前目录的上一级目录
以/根目录开始的路径就是绝对路径
以./当前目录开始的路径就是相对路径,相对于当前目录的位置
cd -比如现在在android目录下,然后切到一个很深的目录,然后再返回android目录
Linux命令练习题
1.查看当前绝对路径;
a)pwd
2.切换到android目录下;
a)cd android
3.在android目录下新建文件夹test;
a)mkdir test
4.在test目录下新建一个文件new.java;
a)cd test
b)touch new.java
5.将创建的new.java名字改为helloworld.java;
a)mv new.java helloworld.java
6.在test目录下创建新文件夹new;
a)mkdir -p new
7.将helloworld.java移动到new中;
a)mv helloworld.java new
8.在android目录下查找AudioService.java;
a)cd ..
b)find -name AudioService.java/find ./ -name AudioService.java
9.将找到的AudioService.java复制到test里面;
a)cp ./vendor/qcom/proprietary/commonsys/fastmmi/qmmi/src/com/qualcomm/qti/qmmi/testcase/Audio/AudioService.java test1
10.查看AudioService.java的文件权限;
a)cd test,ls -l AudioService.java
11.将AudioService.java的文件权限改为777;
a)chmod 777 AudioService.java
12.删除test中的AudioService.java文件;
a)rm AudioService.java
,-rf针对文件夹
13.切换到AudioService.java原来所在的目录并列出当前目录中的所有文件;
a)cd ..
b)cd ./vendor/qcom/proprietary/commonsys/fastmmi/qmmi/src/com/qualcomm/qti/qmmi/testcase/Audio/
c)ls
14.将该目录下的所有文件复制到test目录中
a)cp -r ./vendor/qcom/proprietary/commonsys/fastmmi/qmmi/src/com/qualcomm/qti/qmmi/testcase/Audio/* test
15.切回android目录下;
a)pwd
b)cd /home/skysoft/CDR9010_0708/LINUX/android
16.在test目录的文件中查找字符串” setStreamVolume”所在的文件;
a)cd test1
b)grep ./ -rnl ‘setStreamVolume’
17.删除new目录以及其中的所有文件;
a)rm -rf new
常见问题
1.omitting directory ‘tmp’ 因为当前目录下还有目录,不能直接进行拷贝 ,可以加 –r
2.linux和window编辑器敏感不一样,如空行,尽量不在windows下编辑;