《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。
一、Linux常用命令详细总结-1
(1)ls命令
ls命令的功能是显示指定目录下的文件目录清单
ls -a 参数-a的功能:显示隐含文件
ls -l 以长格式列表输出指定目录中的文件清单
文件类型 文件权限 文件个数 属主 属组 大小 日期 时间 文件名
d rwxrwxr-x 2 user1 user1 2048 Aug 17 09:10 file
Linux中的文件类型
-:表示普通文件。
d:表示目录文件,在Linux中目录也是文件,不仅如此,实际上在Linux中任何设备也可以被当作文件处理。
l:表示符号连接文件。
b:表示块设备文件
如硬盘的设备文件/dev/hda,其中字母a表示第一块,h表示IDE类型的硬盘,SCSI类型的硬盘用s表示;
分区也有相对应的设备文件,如/dev/sdb3,表示第2块SCSI硬盘上的第3个分区。
需要说明的是优盘也采用SCSI硬盘的设备文件名来表示
c:表示字符设备文件,如/dev/tty1。
p:表示管道文件。
s:表示套接字文件
关于文件权限的说明
Linux文件有三种权限,即r读权限、w写权限和x执行权限
属主 属组 其他用户
rwx rwx r-x
ls -R 递归显示
(2)pwd命令 显示当前目录
(3)mkdir命令 在当前目录下创建目录
mkdir -p a/b/c
功能:参数-p功能是如果要创建的目录的父目录不存在,则先创建其父目录,再创建该目录;
如果指定的目录存在,则不影响原目录,也不会报错。在本示例中会连续创建a目录、a/b目录、a/b/c目录
二、Linux文件操作指令(二)
1、cd命令
2、touch命令 创建空文件
3、cp命令 复制文件
示例1:cp /etc/php.* abc
功能:将/etc/目录下以php.开头的文件 文件复制到目录abc中。
说明:“*”是通配符,可以匹配多个字符;“?”只能匹配一个字符
示例2:cp -R /etc abc
功能:增加了参数-R,就能将目录/etc下面的所有子目录和文件都复制到目录abc中
4、mv命令
示例1:将文件移动到目录中
mv myfile mydir1
功能:如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中
示例2:文件改名
mv myfile myfile2
功能:将文件(或目录)myfile改名为myfile2
5、rmdir命令
rmdir mydir1
功能:删除指定的空目录
6、rm命令
示例1:rm php.ini
功能:删除指定的文件 php.ini
删除目录
示例2: rm -rf abc
功能:参数-r是递归的意思,即可以删除非空目录;参数-f是强制的意思。
本例中abc为非空目录,读者可以尝试是否可用rmdir直接删除
7、cat命令
(1)显示文件内容
cat myfile
功能:显示指定文件myfile的内容
(2)cat:创建文件
cat > myfile
输入如下内容:
Hello World!
按ctrl+d结束输入
功能:利用输出重定向符“>”来创建简短的文本文件myfile
8、more和 less命令
more /etc/httpd/conf/httpd.conf
功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。
说明:与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏
9、head命令
(1)显示文件头行内容
head /etc/httpd/conf/httpd.conf
功能:默认显示指定文件的头10行的内容
(2)显示文件头n行内容
head -n 12 /etc/httpd/conf/httpd.conf
功能:参数-n设置显示指定行数,本例会显示文件的头12行的内容
10、tail命令
(1)显示文件最后10行内容
$ tail /etc/httpd/conf/httpd.conf
功能:默认显示指定文件的末尾10行的内容
(2)显示文件最后n行内容
$ tail -n 10 /etc/httpd/conf/httpd.conf
功能:参数-n设置显示指定行数;
本例会显示文件的末尾10行的内容
三、Linux文件操作指令(三)
chmod权限操作命令
(1)chmod:字母方式
u--针对属主
g--针对属组
o--针对其他用户
a--针对所有用户
=表示赋予(设置)指定权限,要注意它会覆盖原权限
+表示在原有权限的基础上增加指定权限
-表示在原有权限的基础上去掉指定权限
r、w、x三种权限,既可以单独使用也可以组合使用
示例1: chmod u+x host.conf
功能:为文件host.conf的属主增加执行权限
示例2: chmod g-w,o=x host.conf
功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变
(2)chmod:数字方式
r-----4 读权限
w-----2 写权限
x-----1 执行权限
无-----0 无权限
一、Linux常用命令详细总结-2
1、查找命令
(1)find—按文件名查找
find / -name "f001*"
功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件
(2)find——按文件大小查找
find /etc -size 8
功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。
其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。
(3)find——按文件类型查找
find /var -type d -print
功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略
(4)find——按文件的修改时间查找
find . -cmin -5
功能:从当前目录下查找5分钟之内修改过的文件。
如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。
如果把时间单位改为天,则使用参数“-ctime”,请看示例:
find . -ctime -5
(5)find——按文件的权限查找
find mytmp -perm 755
功能:查找mytmp目录下的权限恰为755的文件。
find mytmp -perm +755
功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。
find mytmp -perm -755
功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件
(6)find——多条件查询
find / -ctime -5 –a -name “*.conf”
功能:查找5天以内修改过的所有.conf的文件。
说明:默认情况下各查询条件之间是“与”的关系,也可用-a或 -and 来表示;-o表示“或”;!表示“非”。
2、文件内容操作命令
grep命令
(1)grep——在指定的文件中查找包含特定的字符串的行
grep "bind" host.conf
功能:在文件host.conf中查找包含字符串“bind”行。
grep "network" /etc/*.conf
功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行
(2)grep——查找不包含指定字符串的行
grep -v "network" /etc/nsswitch.conf
功能:查找/etc/nsswitch.conf文件中不包含字符串“network”的行
wc
(3)wc -l /etc/nsswitch.conf
63 /etc/nsswitch.conf
功能:参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数
(4) diff 命令
diff test mytest
功能:比较文件test与mytest是否相同,将不同之处输出到屏幕上
3、压缩与打包命令
tar命令
tar命令是经典的备份/还原命令,几乎所有最新的软件包都是通过tar包发布的。
(1)tar——打包(备份)
$ tar -cvf myetc.tar /etc
功能:参数-c的功能是打包(创建),
参数-v是显示处理过程,
参数-f是用来指定文档名;
本例的功能是:将目录/etc打包为一个名为myetc.tar的文档
(2)tar命令——打包(备份)并压缩
$ tar -zcvf myetc.tar.gz /etc
功能:将目录/etc打包并压缩为一个名为myetc.tar.gz的文档。
说明:
其中参数-z是调用gzip命令来压缩,扩展名为gz,
参数-Z是调用compress命令来压缩,扩展名为Z,
参数-j是调用bzip2命令来压缩,扩展名为bz2
(3)tar命令示例三——解压缩还原
$ tar -zxvf myetc.tar.gz
功能:将参数-c换成-x即可实现还原释放的功能。
说明:本例没有指明还原的位置,则将会还原在当前目录下;
如果想指明还原位置可用参数-C,请尝试如下示例:
$ tar -zxvf myetc.tar.gz -C /tmp
