Linux常用命令
在工作和学习的过程中记录下的常用命令
1、清屏
clear
2、查看服务器ip地址
ip a
3、查看时间
date
4、目录和文件
文件系统像一棵树,树干是/(根)目录,树枝是子目录,树枝后面还有树枝(子目录中还有子目录),目录的最后是文件。
5、查看当前目录
pwd
6、改变当前工作目录
cd 目录名
目录和文件的路径分为绝对路径和相对路径,绝对路径是从根(/)算起,例如/usr/etc/readme.txt。相对路径是从当前工作目录算起,如果当前工作目录是/usr,etc/readme.txt等同于/usr/etc/readme.txt。
示例:
1)进入/tmp目录
cd /tmp
2)进入上一级目录
cd ..
3)进入用户的主目录
cd
7、列出目录和文件信息
ls是list的缩写,通过 ls 命令不仅可以查看目录和文件信息,还可以查看目录和文件的权限、大小、主人和组等信息。
选项 -l 列出目录和文件的详细信息。
示例:
1)列出当前工作目录下全部的目录和文件名信息
ls
2)列出当前工作目录下全部的目录和文件名详细的信息
ls -l
3)正则表达式
正则表达式又称规则表达式、通配符,目录和文件名都支持正则表达式,正则表达式的规则比较多,在这里我们只需要掌握最常用的两种:星号 “*” 。
星号 “*” :匹配任意数量的字符。
例如:
ls DM*.bin
8、创建目录
1)在当前工作目录下创建aaa目录
mkdir aaa
2)在当前工作目录下创建aaa目录,并在aaa目录下创建bbb目录
mkdir aaa/bbb -p
9、删除目录和文件
rm [-rf]目录或文件
选项-r可以删除目录,如果没有-r只能删除文件。
选项-f表示强制删除,不需要确认。
1)删除aaa目录
rm aaa -r
2)强制删除当前工作目录下的ccc.c文件
rm -f ccc.c
9、移动目录和文件
这个可以用作修改文件名
mv 旧目录或文件名 新目录或文件名
1)把当前工作目录中的 book.c 文件重命名为 book1.c
mv book.c book1.c
2)如果OPC/test3是一个已经存在的目录,以下命令将把当前工作目录下的 book.c 文件移动到 OPC/test3 目录中。
mv book.c OPC/test3
3)如果 OPC/test3目录不存在,以下命令将把当前工作目录下的 book.c 文件改名为 OPC/test3。
mv book.c OPC/test3
10、复制目录和文件
cp [-r] 旧目录或文件名 新目录或文件名
注:-r 是递归的意思,英文 recursion
选项-r可以复制目录,如果没有选项-r只能复制文件。
示例:
1)把当前工作目录下的book1.c文件复制为book2.c
cp book1.c book2.c
2)把当前工作目录下的aaa目录复制为bbb
cp aaa bbb -r
3)把当前工作目录下的book1.c文件复制为aaa/book1.c
cp book1.c aaa/book1.c
cp book1.c aaa/.
以上两个命令的效果相同。
4)把当前工作目录下的aaa目录复制为/tmp/aaa
cp -r aaa /tmp/aaa
cp -r aaa /tmp/.
以上两个命令的效果相同。
11、判断网络是否连通
ping -c 包的个数 ip地址或域名
ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。
1)向本地主机(127.0.0.1)ping五个包
ping -c 5 127.0.0.1
2)向百度 www.baidu.com.cn 的服务器ping五个包
ping -c 5 www.baidu.com.cn
可以看出百度的服务器是可以ping通的。
3)向谷歌 www.google.com 的服务器ping五个包。
ping -c 5 www.google.com
可以看出谷歌的服务器是ping不通的。
12、显示文本文件的内容
显示文本文件的内容有三个命令:cat、more和tail。
1)cat 命令
cat 文件名
cat命令一次显示整个文件的内容。
cat main.cpp
2)more 命令
more 文件名
为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。
3)tail 命令
tail -f 文件名
tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。
13、统计文本文件的行数、单词数和字节数
wc
(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出
wc 文件名
14、搜索文件中的内容
grep "内容" 文件名
注意,如果内容中没有空格等特殊字符,可以不用双引号括起来。
示例:
(1)在main.cpp文件中搜索signal
grep signal main.cpp
15、搜索文件
(1)find
find 目录名 -name 文件名
参数说明:
目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。
文件名:待搜索的文件名匹配的规则。
示例:
从 OPC 目录开始搜索,把全部的 *.cpp 文件显示出来。
find OPC -name *.cpp
(2)locate
locate 文件名
示例:
搜索open62541.c文件
locate open62541.c
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了。
find多用于在某个目录下进行模糊搜索,而locate则是进行全盘准确定位。
16、chmod命令
用于改变linux文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
常用参数:
-c :当发生改变时,报告处理信息
-R :处理指定目录以及其子目录下所有文件
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
-:删除权限,用数字0表示
s :特殊权限
示例:
(1)删除文件 example 所有用户可执行权限
chmod a-x example
(2)给 example 的属主分配读、写、执行(7)的权限,给 example 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod 751 example -c
(3)将aaa目录及其子目录所有文件添加可读权限
chmod u+r,g+r,o+r -R text/ -c
17、查看系统磁盘空间
df [-h] [-T]
选项-h以方便阅读的方式显示信息:
df -h
选项-T列出文件系统类型:
df -h -T