linux学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习相关的知识,希望对你有一定的参考价值。
1复制文件和目录命令:cp
(1)执行该命令时,如果目标文件不存在,则会创建一个目标文件,若目标文件存在,则将将会被覆盖。如果目标是一个目录,则在该目录下新建与原文件同名同内容的文件。
(2)当原文件为单个文件,目标文件不存在时,新建与原文件同名同内容的目标文件,当目标文件存在时,原目标文件将被覆盖(名字不一定相同,内容一定相同),当目标存在且为目录时,将在该目录下新建与原文件同名同内容的文件。
(3)当原文件为多个文件时,目标必须存在且为目录,在该目录下新建若干与原文件同名同内容的文件。
(4)当cp源头是目录时,此时命令中必须使用-r选项,若目标不存在则创建同名目录,复制源目录下文件到该目录。当目标存在时则必须为目录,此时将在该目录下新建若干与源目录下文件相同的文件。
(5)常用指令选项
-i:覆盖前提示 –n:不覆盖,注意两者顺序
-r, -R: 递归复制目录及内部的所有内容
-a: 归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links 不复制原文件,只复制链接名
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: 等同--preserv=mode,ownership,timestamp
-v: --verbose 显示复制的过程
-f: --force 当普通用户对某目录有rx权限时,使用-f可以将没有修改权限的文件强制覆盖。即删除再创建。
(6)例子:
2 :mv:是移动文件的命令,将源文件或目录移到别处,原文件或目录不保留。
mv
-i:覆盖前提示
-f: 强制覆盖
3:rm:用来删除文件或目录
rm -i 删除前提示
-f 强制删除
-r 删除目录
4:rename 用来选该文件的部分名称,也可以用来修改文件的名字。
例子:
Rename txt doc *.txt:将文件后缀名为TXT的文件改为doc的后缀。
Rename wang kai wang :将文件wang改名为Kai.
5:tree
-d 只显示目录
-L n 只列出指定层级的目录
6:mkdir:用来创建目录。
mkdir
-p 一次性创建多级目录
-v 创建目录时显示详细信息
-m 创建目录时直接设置权限
7:rmdir 仅删除空目录
-p 一次性删除多级空目录
-v 显示删除的详细信息
8:iNode和block
当我们查找文件时都会看文件的的名字,但计算机不一样,当他从文件系统找一个文件时会根据inode号来查找文件,文件的名字与iNode号相关联,一个iNode号可以和多个文件名关联,根据iNode号系统找到文件的存储位置。iNode存储着文件的元数据;如UID,gid,文件的权限,时间戳等,一个iNode节点与一个文件相关联。
Block是存储文件数据的地方。一个文件可能由多个block组成,所以block中会带有指针。
9:硬链接与软连接
硬链接:
与文件系统上的物理文件相对应,创建硬连接时链接数递增,删除文件时,链接数递减,当连接数减到零时,文件被删除。需要注意的是,硬链接不能跨越驱动器或分区。
软连接:
软连接与文件的目录相关,可以跨分区,其大小为指向路径字符串的长度。
软硬链接最主要的区别是硬链接引用的是iNode号,创建后文件不分主次,删除原文件后新创建的文件依然存在。软连接引用的是源文件的目录,删除源文件后新文件也就没了意义。
如何保证创建的软连接不发生错误呢?我们可以以使用目录作为参照,这样就不会发生错误。
ln filename linkname
不能跨分区
ln -s filename linkname
可以跨分区,源被删除,链接也不可用
10: 时区修改
Centos6:
ln -f /usr/share/zoneinfo/America/New_York /etc/localtime
ln -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Centos7:
ln -f -s /usr/share/zoneinfo/America/New_York /etc/localtime
ln -f -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone America/New_York
timedatectl set-timezone Asia/Shanghai
hwclock行同于clock
clock -s 将软时间写入硬时间 关机时自动进行
clock -w 将硬时间写入软时间 开机时自动进行
11:file:检查及查看文件类型。
file
查看文件的类型
-b 查看时不显示文件名
-f /path/filename 文件中每个文件路径一行,从而可批量查看多个文件的类型
-F符号 按指定符号做为分隔符输出 默认是:
-L 当查询的对象为软链接时,显示源文件的类型
12:输入输出重定向:
例子:echo 123 > test.txt :将123输出重定向到test.txt文件
echo 133> test.txt :将133输出重定向到test.txt文件,并将之前的文件内容123覆盖
echo 123 > >test.txt :将123追加输出重定向到test.txt文件。不覆盖。
Cat 11.txt 2> test1.txt :若无文件11.txt,将错误输出重定向到test1.txt。
Cat 11.txt 2>> test1.txt :若无文件11.txt,将错误输出追加重定向到test1.txt。
find /etc/ -name “*.conf” &> find.all 将正确结果错误结果一起输入到find.all。
当文件不存在时,>和>> 都能创建新文件,文件已存在时 >表示覆盖,>>表示追加。Set -c 可以禁止覆盖。Set +c:就解除禁止覆盖。 >| :强制覆盖。
2>&1 把错误的结果转成正确的结果
1>&2 把正确的结果转成错误的结果
Cat > file2.txt < /etc/fastab :将/etc/fastab的内容输出到file2.txt中。
Cat > file4.txt << EOF :从键盘往file4.txt 文件中输入,直到遇到EOF停止输入,EOF要另起一行。
13: tr 命令 替换字符的命令
例子:
Tr [a-z] [A-Z]:将小写换成大写
Tr -d asb :除去字符串中的asb
Tr -s 12 :除去字符串中重复的1 2
Tr -cd 12 :只保留12字符
14:管道
管道可以将前一个命令的标准输出传送到后一个命令。
例子:ls | tr [a-z] [A-Z]
2>&1 | 或 |& 将所有的结果传递给管道处理
以上是关于linux学习的主要内容,如果未能解决你的问题,请参考以下文章