【嵌入式】Linux的常用操作命令 (1)
文章目录
- 文件及目录操作命令
- 文件&目录操作
- pwd 命令
- ls 命令
- ls 命令常用选项
- cd 命令
- mkdir 命令
- rmdir 命令
- rm 命令
- cp 命令
- mv 命令
- find 命令
- grep 命令
- which 命令
- stat 命令
- 文件内容查看相关命令
- cat 命令
- more 与 less 命令
- head 与 tail 命令
- 改变文件访问权限的命令
- chmod 命令
文件及目录操作命令
pwd
:显示用户当前所处的目录ls
:列出目录下的文件清单cd
:改变当前目录mkdir
:建立目录rmdir
命令 :删除空目录cp
:拷贝文件rm
:删除文件/目录mv
命令:移动文件或目录find
:查找文件grep
:按内容查找文件which
命令:确定程序的具体位置stat
命令:显示文件或目录的各种信息
文件&目录操作
pwd 命令
-
功能:该命令显示用户当前所处的目录(当前工作目录的绝对路径)
-
用法:
pwd
-
举例:
[root@localhost ~]pwd /root
说明当前目录是 /root
ls 命令
-
功能:显示指定工作目录中所包含的内容(列出的是文件的名字,而不是文件的内容)
-
用法:
ls [选项] [文件目录列表]
-
举例:
ls --version ls --help | more
ls 命令常用选项
-
-a
:显示所有文件及目录 (ls规定将文件名或目录名中开头为 “.” 的视为隐藏档,不会列出) -
-A
:同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录) -
-l
:除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出权限解释(
ls -l
输出):权限部分共10个字符
-
第一个字符表示文件类型(
-
表示普通文件,d
表示文件夹,b
表示块设备文件,c
表示字符设备文件,l
表示链接文件) -
剩下的 9 个分成三组(所有者/同组用户/其他用户),每组中三个分别表示
r
可读,w
可写,x
可执行。如果是字母表示有这个权限,如果是-
表示没这个权限,文件权限也可用数字表示字符表示 数字表示 对应权限 - 0 无权限 x 1 只执行(目录:进入) w 2 只写 r 4 只读 wx 3 写和执行 rx 5 读和执行 rw 6 读、写 rwx 7 读、写和执行 【eg.】600 表示拥有者具有读写权限,其它用户无任何权限;777 表示拥有者、同组用户、其他用户均具有所有权限
-
-
-R
:递归显示下层子目录 -
-c
:按列输出,纵向排序 -
-x
:按列输出,横向排序 -
-X
:按扩展名排序显示 -
-t
:根据文件建立时间的先后次序列出 -
--help
:显示帮助信息 -
--version
:显示版本信息
cd 命令
-
功能:切换当前工作目录
-
用法:
cd [-L] [-P] [dir]
dir
指出要进入的目标目录- 如果 dir 为 “…”,则进入上一级目录
如果dir为 “/”,则进入根目录
不加参数或参数为 “~”,默认切换到用户主目录 -L
:选项强制使用符号连接-P
:选项使用物理目录结构
-
举例:
[root@localhost ~]cd Desktop #进入子目录Desktop [root@localhost Desktop]cd /Home #进入根目录下的Home [root@localhost Desktop]cd ../.. #返回两级目录
mkdir 命令
-
功能:创建目录,目录可以是绝对路径,也可以是相对路径
-
用法:
mkdir [参数] 目录名
-
参数
-p:建立目录时,如果父目录不存在,则此时可以与子目录一起建立
-
-
举例:
-
在当前目录下建立
dir1
目录[root@localhost ~]mkdir dir1
-
在
dir2
目录下建立bak
目录,如果dir2
目录不存在,那么同时建立dir2
目录[root@localhost ~]mkdir -p dir2/bak
-
rmdir 命令
-
功能:删除目录,目录同样可以是绝对路径,也可以是相对路径,删除目录时,被删除的目录下应无文件或目录存在
-
用法:
rmdir [参数] 目录名
-
参数
-p
:如果父目录下无其他目录,父目录与子目录一起删除
-
-
举例:
-
删除当前目录下的
dir1
目录[root@localhost ~]rmdir dir1
-
删除当前目录下的
dir2/bak
目录。删除目录bak
时,如果父目录dir2
下无其他内容,则一起删除dir2
目录[root@localhost ~]rmdir -p dir2/bak
-
rm 命令
-
功能:删除文件或目录
-
用法:
rm [参数] 文件名或目录名
- 参数
- -f:删除文件或目录时不提示用户
- -i:删除文件或目录时提示用户
- -r:递归删除目录,即包含目录下的文件和各级子目录
- 参数
-
举例:
-
删除当前目录下的所有文件,但子目录和以“.”开头的文件(即隐含文件)不删除
[root@localhost ~]cd dir1 [root@localhost dir1]rm *
星号(*)在Linux中是通配符,代表当前目录下所有非隐藏的文件和目录
-
删除当前目录下的子目录
dir11
,包含其下的所有文件和子目录,并且不提示用户确认[root@localhost dir1]rm –rf dir11
-
cp 命令
-
功能:拷贝文件或目录
-
用法:
cp [参数] 源文件 目标文件
- 参数
- -f:如果目标文件或目录存在,先删除它们再拷贝(即覆盖),并且不提示用户
- -i:如果目标文件或目录存在,提示是否覆盖已有的文件
- -r:递归复制目录,即包含目录下的各级子目录
- 参数
-
举例:在当前目录下建立
dir1
、dir2
目录,在dir1
中建立dir11
,在dir2
中建立dir21
,拷贝当前目录中的dir1
目录(含子目录)至dir2
中,文件名不变[root@localhost ~]mkdir –p dir1/dir11 [root@localhost ~]mkdir –p dir2/dir21 [root@localhost ~]cp –r dir1 dir2/
mv 命令
-
功能:移动文件或目录,也可以用来更改文件名或目录名
-
用法:
mv [参数] 源文件或目录 目标文件或目录
- 参数
- -i:如果目标文件或目录存在时,提示是否覆盖目标文件或目录
- -f:不论目标文件或目录是否存在,均不提示是否覆盖目标文件或目录
- 参数
-
举例:
-
将
test
更名为ztest
[root@localhost ~]mv test ztest
-
把当前目录下的
ztest
移动到dir1
目录下[root@localhost ~]mv ztest dir1/
-
find 命令
-
功能:查找文件所在的目录
-
用法:
find 路径 匹配表达式
- 路径:可以是多个路径,路径之间用空格隔开。查找时,会递归到子目录
- 匹配表达式:
-name
:指明要查找的文件名,支持通配符 “*” 和 “?”-user username
:查找文件的拥有者为username的文件-group grpname
:查找文件的所属组为grpname的文件-atime n
:指明查找前n天访问过的文件(仅第n天这一天)-atime +n
:指明查找前n天之前访问过的文件-atime -n
:指明查找前n天之后访问过的文件-size n
:指明查找文件大小为n块(block)的文件-print
:搜索结果输出到标准输出设备
-
举例:
-
从根目录起查找文件名的前四个字母为
test
的文件find / -name test*
-
在目录
/dev
中查找所属组为tty
的文件find /dev -group tty
-
grep 命令
-
功能:查找文件中包含有指定字符串的行。文件名可以使用通配符 “*” 和 “?” ,如果要查找的字符串带空格,可以使用单引号或双引号括起来
-
用法:
grep [参数] 要查找的字符串 文件名
- 参数
- -num:输出匹配行前后各num行的内容
- -b:显示匹配查找条件的行距离文件开头有多少字节
- -c:显示文件中包含有指定字符串的行的个数,但不显示内容
- 参数
-
举例:在文件
test.c
中查找所有含有字符串“int
”的行,如果找到,显示该行及该行前后各2行的内容grep -2 int test.c
which 命令
-
功能:确定程序的具体位置
-
用法:which [参数] 程序名
-
举例:输出find命令所处的位置
[root@localhost ~]which find /usr/bin/find
stat 命令
-
功能:显示文件或目录的各种信息
-
用法:
stat 文件名
-
举例:显示文件passwd的文件大小、文件权限、文件所有者、所属组、被访问时间、修改时间、变更时间等内容。
[root@localhost ~]stat /etc/passwd File: “/etc/passwd” Size: 1881 Blocks: 16 IO Block: 4096 #一般文件 Device: fd00h/64768d Inode: 1803507 Links: 1 Access: (0644/-rw-r--r--) Uid: (0/ root) Gid: (0/root) Access: 2009-09-08 10:31:20.000000000 +0800 Modify: 2009-07-09 14:03:30.000000000 +0800 Change: 2009-07-09 14:03:30.000000000 +0800
文件内容查看相关命令
cat 命令
-
功能:显示文件的内容
-
用法:
cat 文件名1 文件名2 …
-
举例:把文件
test.c
、test1.c
等的内容在标准的输出设备上显示出来cat test.c test1.c
more 与 less 命令
- 功能:分页查看长文件
more
:仅支持向下翻页less
:支持上下翻页(更强大)
- 操作键:
- more:用【Enter】键可以向后移动一行;用【Space】键可以向后移动一页;用“q”键可以退出
- less:用【Pgup】键可以向前移动一页,用【Pgdn】键可以向后移动一页,用向上光标键可以向前移动一行,用向下光标键可以向后移动一行。用【Enter】键可以向后移动一行;用【Space】键可以向后移动一页;用“q”键可以退出
- 用法:
- more:
more 文件名
- less:
less 文件名
- more:
head 与 tail 命令
-
功能:
head
:显示文件开头部分(默认前10行)tail
:显示文件末尾部分(默认后10行)
-
参数:
-
head:
-n num
:显示文件的前num行
-c num
:显示文件的前num个字符
缺省时,head显示文件的前10行 -
tail:
-n num
:显示文件的末尾num行
-c num
:显示文件的末尾num个字符
缺省时,显示文件的末尾10行
-
改变文件访问权限的命令
chmod 命令
-
功能:改变文件访问权限
-
用法:
chmod [option] … MODE[,MODE]… FILE…
-
option是命令选项,常用的选项有:
- -c:若该档案权限确实已经更改,才显示其更改动作
- -f:若该档案权限无法被更改也不要显示错误讯息
- -v:显示权限变更的详细资料
- -C:以递归的方式逐个变更
-
MODE为权限模式,是权限的符号表示
权限符号表示的格式为
[ugoa…][+-=][rwx…]
- “ugoa…”:
- 文件的所有者(u)
- 组用户中除文件所有者外的其他用户(g)
- 除组用户外的其他用户(o)
- 所有用户(a)
- “+ - =”是操作算子:为所选用户增加权限(+)、为所选用户移除权限(-)、为所选用户指定权限(=)
- “rwx”为用户选择新权限:读权限(r)、写权限(w)、执行文件或访问目录的权限(x)
- “ugoa…”:
-
-
举例:
-
新建hello.c文件
vi hello.c
-
查看hello.c的权限
ls –l hello.c -rw-r--r-- 1 root root 5 march 1 10:26 hello.c
-
移除所有人对文件hello.c的读、写及执行的权限
chmod a-rwx hello.c ls –l hello.c ---------- 1 root root 5 march 1 10:26 hello.c
-
为文件hello.c的所有者增加执行权限
chmod u+x hello.c ls –l hello.c ---x------ 1 root root 5 march 1 10:26 hello.c
-
将文件hello.c设为该文件所有者所属组的其他用户可写,但其他人不能写
chmod g+w hello.c ls –l hello.c ---x-w---- 1 root root 5 march 1 10:26 hello.c
-
用8进制数为文件 hello.c 增加/删除 权限
chmod 000 hello.c ls –l hello.c ---------- 1 root root 5 march 1 10:26 hello.cchmod 124 hello.c ls –l hello.c ---x-w-r-- 1 root root 5 march 1 10:26 hello.cchmod 777 hello.c ls –l hello.c -rwxrwxrwx 1 root root 5 march 1 10:26 hello.c
-