Never say die!
2014年(31)
分类: 嵌入式
2014-04-12 21:56:31
常用技巧
1、Ctrl + shift + F1-F6 可以进入字符界面
Ctrl + shift + F7 回到桌面
2、键盘的上下方向键:可以查找之前输入过的命令
Tab键 :用于补全文件名
3、 Ctrl + C 终止目前的命令 (常用)
ctrl + l 清屏(相当于clear) (常用)
Ctrl + D 输入结束或注销linux
Ctrl + Z 暂停目前命令
Ctrl + U 将整行命令删除
Ctrl + S 暂停屏幕输出
Ctrl + Q 恢复屏幕输出
4、用CRT操作开发板时,快速复制方法:左键选中,右键单击一下就就粘贴了
5、 ~ 表示用户主目录(/home/usr)
./ 表示当前目录
命令格式及常识
***格式说明***
1、linux文件命名规则
1.1 除了/之外,所有的字符都合法
1.2 有些字符最好不用,如空格符、制表符、退格符和字符@#$&*()-等;
1.3 避免使用.作为普通文件名的第一个字符。(因为.开头的文件在linux系统是隐藏文件)
1.4 大小敏感 (也即是大小与小写是严格区分的,在DOS下对大小写不敏感)
2、linux文件的后缀
linux下的文件不能从后缀名来判断是否可执行,任何一个文件都可以当做可执行文件
3、linux命令格式
命令 + -选项 + 参数 注:当有多个选项时,可以写在一起;"参数"就是操作的对象;
eg: ls -la /work/dir1 表示既显示目录dir1下的所有文件还显示它们的属性
***常识***
1、通过命令所在位置,可以确定是什么用户可以执行
root可以执行的命令存储位置:
/sbin
/usr/sbin
all users所有人都可以执行的命令存储位置
/bin
/usr/bin
注:sbin可以看成super-bin,即超级命令只能由超级用户(管理员/root)可以使用;usr是user的简写;
bin是二进制binary的简写
***sbin下的命令只能由root执行,bin下的命令所有用户都能执行***
2、文件类型识别方法:通过 ls -l 可以查看文件的属性,由第一个字符可以确定文件类型
第一个字符: d 表示目录文件directory
- 表示是一个二进制文件(在Linux下几乎所有文件都是二进制文件)
l 表示软链接文件link
c 表示字符设备(驱动程序)
eg: ls -ld /work 查看根目录下work目录的属性
drwxr-xr-x 10 book book 4096 2010-12-24 13:58 work
一 二 三 四 五 六 七
一共8部分
第一部分:可以确定文件类型及文件权限
第二部分:表示硬链接数目
第三部分:表示该文件所有者是谁?
第四部分:表示该文件所属组是谁?
第五部分:表示文件大小(不太准确)
第六部分:表示创建时间或最好修改时间
第七部分:文件名
3、文件权限的识别方法:通过 ls -l 查看文件的属性 ,可以知道该文件的权限;
如显示:drwxr-xr-x
3.1 文件权限有三种:r-read(读)、w-write(写)、x-execute(执行); 可读可写可执行
3.2 去掉第一个字符,第一个字符只是说明是什么文件类型,后面9个字母才是权限说明
rwxr-xr-x
分成三组: rwx r-x r-x
分别表示: 所有者u(user) 所属组g(group) 其他人o(others)
权限: 可读可写可执行 可读可执行 可读可执行
3.3 文件与目录的rwx表示的含义是不一样的
文件:
r 可以查看文件的内容(cat、more、head、tail)
w 可以修改文件的内容(echo、vi)
x 可以执行文件
目录:
r 可以列出目录中的内容(ls)
w 可以在目录中创建、删除文件(touch、mkdir、rm)
x 可以进入目录(cd)
eg:如果想删除一个目录下的一个文件,文件具有rwx权限,但不一定能删除,只有该文件所在的目录有
w权限才可以删除该文件,也即是对文件外部操作需要目录权限,对文件内容操作需要文件权限。
4、 #: 超级用户
$ : 普通用户
5、在Linux中所有的东西都是文件,如命令、压缩包、图片、视频、网页等都是二进制文件
常用命令
***文件处理***
ls
英文全称:list (列举)
功能描述:显示目录文件
语法选项:ls + 选项 + 文件/目录
-a (all) 显示所有文件,包括隐藏文件,也即以.开头命名的文件
-l (long) 详细信息显示,文件属性
-d (directory) 查看目录属性,如果直接ls -l 显示该目录下所有文件属性,但加上d只显示该目录的属性
-i (inode) 显示i节点,也即是文件的数字标识,每一个文件都有一个i节点,同个文件数字标识一样
硬链接与源文件有相同的i节点;
实例操作:
ls + 选项 + 文件或目录的位置
ls + 选项 注:不指明位置,则显示的是该目录下的文件
eg:ls -al /work 注:显示work目录下的所有文件及属性
ls -d /work 注:显示work目录的属性
cd
英文全称:change directory(改变目录)
功能描述:切换目录
实例操作:cd + 要切换到某目录的路径
【熟记】 cd + / 切换到更目录
cd .. 切换到上一目录
cd ../ 简写路径,当在同一个大目录下进入其他子目录,可以简写路径用..表示
cd ~ 切换到用户的主目录 /home/book;另外ls ~ 也可以显示用户主目录的文件(等同于直接cd)
./ 表示当前目录 如果想把其它文件复制或移动到此目录下,直接把移动后的路径写成 ./ 就可以了
pwd
英文全称:print working directory(打印显示当前工作的目录)
功能描述:显示当前所在的工作目录
实例操作:直接输入pwd,回车就会显示出完整的目录
touch
英文全称:touch(创建) //文件与目录是两个不同的概念
功能描述:创建空文件
实例操作:touch + 文件名
eg:touch file1 注:创建了一个空文件file1
mkdir
英文全称:make directories(创建目录)
功能描述:创建新目录
实例操作:mkdir + 目录名
eg:mkdir dir1 注:创建了一个目录dir1
cp
英文全称:copy(复制)
功能描述:复制文件或目录
语法选项:cp + 选项 + 要复制的文件或目录 + 要复制到的位置
-R 复制目录要加此选项,如果只复制文件不需任何选项
-P 可以与源文件的时间保持一致
实例操作:cp + 要复制的文件 + 要复制到的位置
cp + -R + 要复制的目录 + 要复制到的位置
eg:cp + file1 + /work 注:表示将文件file1复制到work目录下
cp + -R + dir1 + /work 注:表示将目录dir1复制到work目录下
mv
英文全称:move(移动) 相当于Windows的剪切
功能描述:移动文件/目录、更名
实例操作:mv+ 要移动的文件/目录 + 要移动到的位置
mv + 要改名的文件/目录 + 要改后的文件/目录名字
mv + 要移动的文件/目录 + 要移动的位置/改后的名字
eg:mv + file1 + /work 注:将file1文件移动到work目录下
mv + file1 + file2 注:将file1文件更名为file2
mv + file1 + /work/file2 注:将file1文件移动到work目录下并更名为fiel2
rm
英文全称:remove(删除)
功能描述:删除文件
语法选项:rm + 选项 + 要删除的文件
-r 删除目录需要加此选项 (相当于rmdir,但rmdir只能删除空目录)
-i 在Ubuntu删除文件时没有提示,说明没有内含-i选项,进行询问
-f force表示强制删除,没有提示,在Ubuntu下rm不加任何选项也没有提示。rm -rf 很危险
实例操作:rm + 要删除的文件
rm + -r + 要删除的目录
eg:rm file1 注:删除文件file1
rm -r dir1 注:删除目录dir1
cat
英文全称:concatenate and display files
功能描述:显示文件内容
实例操作:cat + 文件名 //只能显示文件内容少的文件,如果内容多了,不能完整显示
more
英文全称:more
功能描述:分页显示文件内容
语法选项:more + 文件名
操作:空格 显示下一页
Enter 显示下一行
q 退出
head
英文全称:head
功能描述:查看文件的前几行
语法选项:head + -num + 要查看的文件 注:其中-num显示前num行,随意赋值,如果不加行数,默认看前10行;
tail
英文全称:tail
功能描述:查看文件的后几行
语法选项:tail + -num + 要查看的文件 注:其中-num显示后num行,随意赋值,如果不加行数,默认看后10行;
tail + -f + 要查看的文件 动态显示最新的后几条内容;
ln
英文全称:link(链接)
功能描述:产生链接文件
语法选项:ln + 源文件 + 目标文件 创建的是硬链接
ln + -s + 源文件 + 目标文件 创建的是软链接 其中-s是soft简写
实例操作:ln + 要链接的文件 + 要生成的硬链接位置及名称 !!!注:生成的硬链接放的位置不能跨文件系统
ln + -s + 要链接的文件 + 要生成的软链接位置及名称 !!!注:要链接的源文件路径是绝对路径,也即从/开始;
eg:ln + /work/file1 + /1.hard 注:创建/work/file1的硬链接1.hard ,硬链接只适用于文件
ln + -s + /work/dir1 + /1.soft 注:创建/work/dir1的软链接1.soft
【硬链接与软链接的区别】:
软链接:相当于Windows下的快捷方式,内容同步;
硬链接:不仅有Windows下的快捷方式的功能,而且源文件删除后,硬链接不受影响,相当于是源文件的一个备份;
echo
功能选项:echo + 要写入的内容>>指定要写入的文件
实例操作:echo hello wrold>>/work/file1
***权限管理***
chmod
英文全称:change the permissions mode of a file (改变权限)
功能描述:改变文件或目录的权限
语法选项:chmod + {ugo}{+-=}{rwx} + 要改权限的文件或目录
ugo: u-所有者 g-所属组 o-其他人
+-=: +添加某权限 -去掉某权限 =不管之前是某权限之后权限就是=后的权限
rwx: r-可读 w-可写 x-可执行
实例操作:chmod u+wx file1 注:给file1文件的所有者添加可写可执行的权限
chmod g-w file1 注:给file1文件的所属组去掉可写的权限
chmod o=rwx file1 注:给file1文件的其他人赋予可读可写的的权限,不管之前权限是什么
【另一种方法】格式:chmod + 数字 + 要改权限的文件或目录 ***简便***
r-4 w-2 x-1
如:rwxr-xr-x
u-rwx 421 合起来是 7
g-r-x 401 合起来是 5
o-r-x 401 合起来是 5
所以最后ugo的权限是755,如果想把其他文件权限改成rwxr-xr-x,则可以直接写:chmod 755 file1
chown
英文全称:change file ownership(改变文件的所有者)
功能描述:改变文件或目录的所有者
实例操作:chown + 要改成的用户名 + 文件/目录
eg:chown book dir1 注:把目录dir1的所有者改成book用户
注:chown + ownname : groupname + 文件/目录 //可以直接更改所有者及所属组的用户(方便)
eg:chown book:book dir1 注:把目录dir1的所有者及所属组都改成了
chgrp
英文全称:change file group ownership(改变文件的所属组)
功能描述:改变文件或目录的所属组
实例操作:chgrp + 要改成的用户组名 + 文件/目录
eg:chgrp book dir1 注:把目录dir1的所属组改成book用户组
***文件搜索***
which
英文全称:which
功能描述:显示系统命令所在的目录
实例操作:which + 要查询的命令
eg: which ls 显示:/bin/ls
which halt 显示:/sbin/halt
find
英文全称:find 注:禁止在根目录下查找,会占用大量资源
功能描述:可以查找任意文件或目录
语法选项: find + 搜索大概路径 + 搜寻关键字
实例操作: find + 搜索路径 + 关键字 + 要查找的文件或目录名
关键字: -name + 要查找的文件或目录名 注:通过目录或文件名来查找
-user + 所有者的用户名 注:查找属于该所有者的文件或目录
eg: find /work -name dir1 注:查找work目录下以dir1为名目录文件
***查找最近改动的文件***
按天: ctime atime mtime (24小时)
按分钟:cmin amin mmin (分钟)
c-change (改变)表示文件属性被修改过,所有者,所属组,权限;
a-access (访问)表示访问过;
m-modify (修改)表示文件内容被修改;
用法: find + 搜索路径 + -{cam}time/min + {-,+}时间大小 注:-时间大小,是在这个时间里修改过的文件;+时间大小,超过这个时 间段修· 改的文件
eg:find /work cmin -120 注:在这2个小时内修改过的文件
【通配符的使用】
* 匹配任意字符 注:当文件名记不全时用*号代替,哪个地方没记住就用*代替
? 匹配单个字符 注:当文件名记不全但知道文件名字符的数目,缺几个记不住的字符就补几个
grep
英文全称:grep
功能选项:在文件中搜索字符串匹配的行并输出
实例操作:grep + 指定的字符串 + 字符串所在的文件
eg:grep zwz /work/file 注:在file文件中搜索含有zwz字符串的行,并输出
***帮助命令***
man + 要查询的命令 注:显示出该命令的用法;显示内容的浏览与more相似,空格翻页,q退出
whatis + 要查询的命令 注:获得命令的简短说明 what is ?
命令 + --help 注:查看命令有哪些语法选项
file + 文件名 注:当无法确定文件类型时,可以用此命令
***压缩解压***
注:Windows的WinRAR支持linux的任何压缩文件,但linux不支持Windows的压缩文件
gzip
功能描述:压缩文件为.gz
实例操作:gzip + 要压缩的文件
注:1、只能压缩文件,不能压缩目录
2、不保留原文件
gunzip
功能描述:解压缩.gz文件
实例操作:gunzip + 要解压缩的文件
tar
压缩:
功能描述:打包目录成一个文件,压缩格式为.tar.gz (.tar是打包目录,.gz是压缩)
语法选项:tar + 选项 + 目录
-c 产生.tar打包文件(creat)
-v 显示详细信息(其他地方也使用了该选项的作用)
-f 指定压缩后的文件名
-z 对打包文件压缩 //如果压缩.bz2,用-j,其他不变
解压:
功能选项:解压缩文件.tar.gz
语法选项:tar + 选项 + 要解压缩的文件
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件 注:是指定的要解压文件,而不是要解压到此文件
-z 解压缩 //如果解压.bz2,用-j,其他不变
【tar总结】:1、压缩、解压的-f格式不一样,且-f选项必须放后面才正确
压缩:tar + 选项 + 压缩后的文件名 + 要压缩的目录 注:压缩的文件名最好带上.tar.gz
eg: tar -zcvf dir1.tar.gz dir1 注:将目录打包成dir1.tar,并压缩成dir1.tar.gz
解压:tar + 选项 + 指定解压文件
eg:tar -zxvf dir1.tar.gz 注:解压解包成dir1目录
2、-z选项既可以作为压缩,又可以作为解压
如果是.bz2的压缩,把-z换成-j其他一样
eg:tar -jcvf dir1.tar.bz2 dir1 注:将目录打包成dir1.tar,并压缩成dir1.tar.bz2
3、简单记:
tar -zcvf dir.tar.gz dir dir目录压缩成.tar.gz
tar -zxvf dir.tar.gz dir压缩包文件解压
zip
压缩:
功能选项:压缩文件或目录,生成.zip,且可以保留原文件 //.zip压缩文件在linux与windows通用
语法选项:zip + 压缩后的文件名 + 要压缩的文件名
zip + -r + 压缩后的目录名 + 要压缩的目录 //好像不加-r也可以压缩目录
解压:
unzip + 要解压的.zip文件
***网络命令***
sudo ifconfig eth0 192.168.1.2 设置IP (注:eth是几,需要查看一下)
sudo ifconfig eth0 down 关闭网卡
sudo ifconfig eth0 up 打开网卡
添加用户
useradd + 用户名
passwd + 用户名 //就是为了说明给哪个用户设置密码,注意:passwd是password少写了or字母
之后提示输入两次密码
sudo 当文件没有权限时,要sudo获取管理员权限认可
sudo su 切换到管理员权限 exit管理员退出
sudo halt 关机
reboot 重启
clear 清屏
service iptables stop 关闭防火墙(不适用于Ubuntu,Ubuntu的是:ufw disable)
内容待续......
linux命令,只是从事嵌入式道路上的一个初级阶段~
网上有各种总结,但不一定适合初学者,学会自己总结!