首页 > 代码库 > Linux基础(2)

Linux基础(2)

1、Linux上的文件管理类命令:

操作相关:

cat:查看文件              用法:cat 文件名

more/less/head/tail:查看文件        

用法与cat相同,不同的是这三个命令的功能

more:可翻页查看文件内容,一页一页的翻动

less:可翻页查看文件内容,一页一页的翻动,比more有弹性

head:取出文件中的前面N行

tail:取出文件中的最后N行

vim:编辑文件(创建文件)         用法:vim 文件名

touch:创建一个文件           用法:touch 文件名

ls:列出当前目录下的文件或文件夹

cp:复制(可用来重命名)        用法:cp 原文件位置 目标文件位置

mv:移动(可用来重命名)        用法:mv 原文件位置 目标文件位置

rm:删除文件或文件夹 常用参数有-r(recursive删除所有内容) -f(强制,生产环境慎用) 

                    用法: rm -rf 文件或目录名

mkdir:创建一个目录           用法:mkdir 目录名

权限相关:

chmod:修改权限             用法:chmod 777(rwx等) 文件或目录名

chown:修改所有者            用法:chown 所有者 文件或目录名

chgrp:修改所属组            用法:chgrp 所属组 文件或目录名

chcon:修改文件的context值        用法:chcon -t type 类型 文件或目录名


2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容


bash的工作特性之命令执行状态返回值:

命令执行完后,其状态返回值保存于bash的特殊变量$?中,成功为0不成功则为一个非0的值

注意,命令执行状态返回值和命令的执行结果间的区别。不管命令是否成功执行,都会有相关数据显示,但是命令执行状态返回值却是不同的


命令行展开所涉及的内容:

~:自动展开为用户的家目录,或指定的用户的家目录。

#:为root的家目录

{}:可包含一个以逗号分割的路径列表,并能够将其展开为多个路径。


3、用命令行展开功能完成练习
(1)创建/tmp目录下的:a_c,a_d,b_c,b_d

mkdir /tmp/{a,b}_{c,d}

技术分享

(2)创建/tmp/mylinux目录下的

技术分享技术分享


mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}


4、文件的元数据信息有哪些,分别的含义以及查看方式,修改文件的时间戳

元数据信息:

使用stat 查看

Size:文件大小

Blocks:块格式

Block:快大小

Access:权限以及所有者和所属组

Access:访问时间

Modify:修改时间

Change:改变时间


使用touch -t(time)可直接修改时间,也可以直接接文件将时间改成当前


5、定义一个命令的别名,在命令中引用另一个命令的执行结果

定义别名:

alias hk=‘ls‘,若要永久生效则需要写入开机脚本中(~/.bashrc对当前用户)(/etc/bashrc对所有用户)

命令引用:

name=`COMMAND`, name=$(COMMAND)


6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可有其他字符)的文件或目录

ls -d /var/l*[0-9]*[[:lower:]]


7、显示/etc目录下,以任意数字开头,且以非数字结尾的文件或目录

ls -d /etc/[0-9]*[^0-9]


8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录

ls -d /etc/[^[:alpha:]][[:alpha:]]*


9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名如tfile-2016-05-27-09-32-22

touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

cp -a /etc/p*[^0-9] /tmp/mytest1


11、复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中

cp -a /etc/*.d /tmp/mytest2


12、复制/etc目录下所有以l或m或n开头,以.com结尾的文件到/tmp/mytest3目录中

cp -a /etc/[l,m,n]*.conf /tmp/mytest3

Linux基础(2)