linux常用管理命令linux管理命令
如何在linux上用命令实现用户和组的管理?
Linux上用命令实现本地用户和组的管理
本地用户和组:管理文件和进程等等
本地用户和组:
1)root:超级管理员系统创建的第一个账户
特点:
id为:0
家目录:/root
具有系统的完全控制权:小心使用。
#id
uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0c1023
#
2)普通用户:不具有管理员权限
特点:
id范围:
1000=id=60000
家目录:/home/用户名
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#
3)服务用户:为服务提供权限
特点:
id范围:
0id1000
家目录:应用程序服务目录
#idapache
uid=48(apache)gid=48(apache)groups=48(apache)
#
如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户
Includeconfmodulesd/conf
#
#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun
#httpdasrootinitiallyanditwillswitch
#
#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas
#Itisusuallygoodpracticetocreateadedicateduserandgroupfor
#runninghttpd,aswithmostsystemservices
#
Userapache
Groupapache
#'Main'serverconfiguration
#
本地组:
1)主组:一个用户一定要属于某个主组中。当些用户在创建文件时,给文件的归属组
2)从属组:用户容器,组织和管理用户权限管控
作用:
文件:
进程:
$ps-ux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
student321780004930529360Ss15:000:00/usr/lib/system
student3218200032537767072S15:000:00(sd-pam)
student3218800021594124980S15:000:00sshd:student@p
student3218900022339124864pts/0Ss15:000:00-bash
student3229303021594085192D15:430:00sshd:student@p
student3229403022339124924pts/1Ss15:430:00-bash
student3231905022339404804pts/1S15:430:00/bin/bash
student3234100022693123876pts/1R+15:430:00ps-ux
$
账户文件:
1)/etc/passwd:保存用户信息
#cat/etc/passwd|grepstudent
student:x:1000:1000:StudentUser:/home/student:/bin/bash
用户名密码uid主组ID描述家目录登录shell
#
#cat/etc/passwd|grep-wroot:x
root:x:0:0:root:/root:/bin/bash
#
#cat/etc/passwd|grepapache
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
服务账号无法登录系统
#
2/etc/shadow:保存用户密码的HASH,密码的有效性信息,密码修改时间,账户有效期。
#
#ls-l/etc/shadow
----------1rootroot1014Mar2911:39/etc/shadow
#
#
#cat/etc/shadow|grepstudent
student:$6$8oIjLCsc$/n1iQXYh1E6uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80:18038:0:99999:7:::
#
密码的HASH:sha512
8oIjLCsc$/n1iQXYh1E6uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80
18038:天数密码最后一次修改的时间从1970-01-01+18038天之后那一天
0:密码最少使用天数0没有限制用户随时可以改密码
99999:天数,密码最大修改时间永久200多年
7:warning警告时间,当密码快到最后修改时间前7天,通知用户修改。
::天数失效时间inactive用户密码过了最后修改时间,未改变密码,再过多少天,账户将被锁定
::账户有效期
创建用户和组:
创建时,没有密码:
#useraddzhangsan
#useraddlisi
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi)
#
无法登录:与PAM有关
$
$su-zhangsan
Password:
Password:
su:Authenticationfailure
$
设置密码:
#
#cat/etc/passwd|grepzhangsan
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
#cat/etc/shadow|grepzhangsan
zhangsan:!!:18350:0:99999:7:::#!!未设置密码
#
#passwdzhangsan
Changingpasswordforuserzhangsan
Newpassword:
BADPASSWORD:Thepasswordisshorterthan8characters
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully
#
#
#cat/etc/shadow|grepzhangsan
zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGwUNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpGGdwjpMiiDh7f6DJNQ0:18350:0:99999:7:::
#
chage可以查看用户密码属性
#chage-lzhangsan
Lastpasswordchange:Mar29,2020
Passwordexpires:never
Passwordinactive:never
Accountexpires:never
Minimumnumberofdaysbetweenpasswordchange:0
Maximumnumberofdaysbetweenpasswordchange:99999
Numberofdaysofwarningbeforepasswordexpires:7
#
创建组:从属组
#
#groupaddit
#
#
#groupaddsales
#
#
#
#cat/etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:student
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
users:x:100:
nobody:x:65534:
dbus:x:81:
utmp:x:22:
utempter:x:35:
input:x:999:
kvm:x:36:
render:x:998:
systemd-journal:x:190:
systemd-coredump:x:997:
systemd-resolve:x:193:
tss:x:59:
polkitd:x:996:
rpc:x:32:
unbound:x:995:
ssh_keys:x:994:
sssd:x:993:
setroubleshoot:x:992:
rpcuser:x:29:
insights:x:991:
cockpit-ws:x:990:
sshd:x:74:
chrony:x:989:
tcpdump:x:72:
student:x:1000:
printadmin:x:988:
libstoragemgmt:x:987:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
apache:x:48:
zhangsan:x:1001:
lisi:x:1002:
it:x:1003:组成员列表
sales:x:1004:
#
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#
将用户添加进组:zhangsan,加入it组,lisi,sales组
#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
#usermod-aGitzhangsan
#
#
#usermod-aGsaleslisi
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1004(sales)
#
删除用户:
#useraddandy
默认删除,保留用户的文件:
#
#userdelandy
#
#
#useraddandy#重建andy会不一样,uid会不同
useradd:warning:thehomedirectoryalreadyexists
Notcopyinganyfilefromskeldirectoryintoit
Creatingmailboxfile:Fileexists
#
#useradduser1
#useradduser2
#idandy
uid=1003(andy)gid=1005(andy)groups=1005(andy)
#userdel-rany
userdel:user'any'doesnotexist
#
#userdel-randy#不保留用户的文件。家目,邮箱文件,skel文件都会
#
#
#idandy
id:‘andy’:nosuchuser
#useraddandy
#idandy
uid=1006(andy)gid=1008(andy)groups=1008(andy)
#
从组中移除用户:
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)#zhangsan主组,it从属组
#
命令:
#gpasswd-dzhangsanit
Removinguserzhangsanfromgroupit
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
#
#
#usermod-aGitzhangsan
#
#
#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
#
#
#
#groupszhangsan
zhangsan:zhangsanit
#
直接修改文件:
#vim/etc/group
#cat/etc/group|grepit:
it:x:1003:
#
删除组:
#groupaddtest
#
#
#groupdeltest
创建自定义用户和组:
实验:用户名mary,指定用户id2000,家目录/maryhome,不用登录系统描述thisismaryuser
#
#useradd-u2000-d/maryhome-s/sbin/nologin-c"thisismary"mary
#
#idmary
uid=2000(mary)gid=2000(mary)groups=2000(mary)
#cat/etc/passwd|grepmary
mary:x:2000:2000:thisismary:/maryhome:/sbin/nologin
#
#su-mary
Lastlogin:SunMar2916:48:49CST2020onpts/0
Thisaccountiscurrentlynotavailable
#
创建自定义组:指定组id
#groupadd-g3000group1
#cat/etc/group|grepgroup1
group1:x:3000:
#
如今出去面试多少都会被问及个linux的问题, 而且项目进uat后也都要发到linux下, 所以知道几个linux命令是必要的。
第一个,也是最有用的一个:
man 察看命令详解,只要觉得哪个命令不清楚,man它就可以了
man ls
ln 创建链接文件
ln -s sourceName destName
ls 列出文件
-l: 逐行显示且列出详细属性
-a: 列出所有文件包括以开头的隐藏文件
ls -lqt /bin
cat 读取文本内容
-n: 显示行号
-b: 显示行号且忽略空行
cat -n 1txt
wc: 计数
-l: 行数
-w: 字数
-c: 字符数
wc -l file1 file2 可以统计多个文件
cp 拷贝文件 目录
-i: 交互模式,如果目标文件存在,则询问是否覆盖
-r: 拷贝目录
cp file1 file2 file3 dir 表示将file1,file2拷贝到dir
cp -r dir1 dir2 dir3 dirn 将dir1, dir2,dir3拷贝到dirn
file 察看文件类型
file testsh
mv 移动文件,更改文件名
-i: 交互模式,如果目标文件存在,则询问是否覆盖
-r: 移动目录,跟改目录名
rm 删除文件
-i: 交互模式,询问是否删除
rm -r dir1 dir2 dir3可删除多个
mkdir 创建目录
-p: parent,父目录不存在,则创建父目录
mkdir -p test/test
rmdir 删除目录
等同与rm -r
rmdir dir1 dir2 dir3
rm -r dir1 dir2 dir3
chmod 更改权限
chmod -R 777 DIR改变目录下所有文件权限为777,必须是-R
权限 -rwxrwxrwx
421421421
最前面的-表示文件类型为普通文件
接下来三位表示所有者权限
接下来三位表示组权限
最后三位表示其它用户权限
如果某一权限没有被分配,用-表示。-rwxr--rwx表示组没有写和执行权限
文件加夜有可执行权限,但表示是否容许在该目录下寻找文件
chown 改变所有者
chgrp 改变组
command
命令后面加表示在后台运行
find -name "sh"
fg 把后台进程放到前台
fg %1 把后台第一个作业放到前台
bg
把前台进程放到后台
jobs
显示后台或挂起的进程
ps
显示所有进程
ps -f 显示完全信息,包括占用cpu时间,开始时间。。。
kill
-9 强制结束
more 显示文本内容,每次一屏,按空格继续
find / -name "sh" | more
tail 从指定的位置开始显示后面得内容
tail -f serverlog 用于在server上边运行边察看日志
tail -10 dos2unixsh 察看最后10行
head
与tail对应
sort 排序
-r 逆序
-d 字典顺序
ls | sort -r
tr 字符替换
-d 删除指定字符 ls | tr -d 'log'
ls | tr 'd' 'g'把d变成g
at time date job
定时调度
compress
-f 压缩文件
-v 显示压缩比例
compress -vf projecttar 将产生projecttarZ且projecttar被删除
uncompress
-f 解压缩文件
-v 显示压缩比例
uncompress projecttarZ 将产生projecttar且projecttarZ被删除
tar
-c 创建新文档
-x 解包
-v 显示正在处理的文件名
-f 取代默认的文件名
tar -cvf projecttar project/ 把project目录下所有文件打包
tar -xvf projecttar
linux系统因其优秀的稳定性和安全性,被越来越多的企业服务器应用。随之而来的越来越多的人学习使用linux,而做为linux系统的基础linux命令更是必学无疑的,小编今天跟大家分享一篇小编精心编辑的文章“linux命令-文件管理命令”,希望能帮到大部分的linux初学者。
cat 功能:有从磁盘创建文件的功能(但不具备编辑功能),但主要功能还是2个或者以上文件的合并。 常配合使用参数: -n 或--number 由1 开始对所有输出的行数编号。 -b 或--number-nonblank 和-n 相似,只不过对于空白行不编号。 使用方法: Cat –n diannaob1diannaob2,把diannaob1里的内容加上行号以后并入diannaob2。 Cat –b diannaob1 diannaob2diannaob3,对diannaob1和diannaob2里的内容加上行号(空白行不加)并入diannaob3。
chattr 功能:给指定文件添加,去掉,赋予属性。 常配合使用参数: -R 递归处理,将指定目录下的所有文件及子目录一并处理。 -v版本编号 设置文件或目录版本。 -V 显示指令执行过程。 +属性 开启文件或目录的该项属性。 -属性 关闭文件或目录的该项属性。 =属性 指定文件或目录的该项属性。 a:让文件或目录仅供附加用途。 b:不更新文件或目录的最后存取时间。 c:将文件或目录压缩后存放。 d:将文件或目录排除在倾倒操作之外。 i:不得任意更动文件或目录。 s:保密性删除文件或目录。 S:即时更新文件或目录。 u:预防以外删除。 使用方法: 比如diannaob1这个文件为了方式被其他linux用户删除,可以给其添加预防以外删除属性。 Chattr +u diannaob1
chgrp 功能:更改目录或者文件所属的群组。 使用方法: 比如把diannaob1文件移动到diannaob组里:Chgrp diannaob diannaob1
cmp 功能:用来比较文件之间的不同,如果相同不返回任何信息,不同的地方列出字符和列数编号。 常配合使用参数: -c或--print-chars除了标明差异处的十进制字码之外,一并显示该字符所对应字符。 -i字符数目或--ignore-initial=字符数目指定一个数目。 -l或--verbose标示出所有不一样的地方。 -s或--quiet或--silent不显示错误信息。 -v或--version显示版本信息。 --help在线帮助。 使用方法: 比如比较文件diannaob1和diannaob2有什么同 Cmp diannaob1 diannaob2配合使用的参数加在cmp和文件之间。
file 功能:辨识文件类型。 常配合使用参数: -b列出辨识结果时,不显示文件名称。 -c详细显示指令执行过程,便于排错或分析程序执行的情形。 -f名称文件指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。 -L直接显示符号连接所指向的文件的类别。 -m魔法数字文件指定魔法数字文件。 -v显示版本信息。 -z尝试去解读压缩文件的内容。 使用方法: 比如要辨别diannaob1的文件类型 File diannaob1 文件位置
find 功能:根据各种需求(名称、类别、时间、大小、权限等)在指定的目录内寻找符合要求的文件。 常配合使用参数: -mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案 -amin n : 在过去n 分钟内被读取过 -anewer file : 比档案file 更晚被读取过的档案 -atime n : 在过去n 天过读取过的档案 -cmin n : 在过去n 分钟内被修改过 -cnewer file :比档案file 更新的档案 -ctime n : 在过去n 天过修改过的档案 -empty : 空的档案-gid n or -group name : gid 是n 或是group 名称是name -ipath p, -path p : 路径名称符合p 的档案,ipath 会忽略大小写 -name name, -iname name : 档案名称符合name 的档案。iname 会忽略大小写 -size n : 档案大小是n 单位,b 代表512 位元组的区块,c 表示字元数,k 表示kilo bytes,w 是二个位元组。-type c : 档案类型是c 的档案。 d: 目录 c: 字型装置档案 b: 区块装置档案 p: 具名贮列 f: 一般档案 l: 符号连结 使用方法: 将目前目录及其子目录下所有延伸档名是c 的档案列出来。 find -name "c" 将目前目录其其下子目录中所有一般档案列出 find -ftype f 将目前目录及其子目录下所有最近20 分钟内更新过的档案列出find -ctime -20
git 功能:文字模式下的文件管理员,进入之后,可以进行各种文件的操作。 常配合使用参数:F1 :执行info指令,查询指令相关信息,会要求您输入欲查询的名称。 F2 :执行cat指令,列出文件内容。 F3 :执行gitview指令,观看文件内容。 F4 :执行vi指令,编辑文件内容。 F5 :执行cp指令,复制文件或目录,会要求您输入目标文件或目录。 F6 :执行mv指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。 F7 :执行mkdir指令,建立目录。 F8 :执行rm指令,删除文件或目录。 F9 :执行make指令,批处理执行指令或编译程序时,会要求您输入相关命令。 F10 :离开git文件管理员。
cut 功能:用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出。 配合使用参数: -b 字节(bytes) -c 字符(characters) -f 域(fields) 使用方法: 如日期:dc oct 10 21:15:54 PDT 2012 Date |cut –b 1-4 输出dc o,表示取前4个字节,其中空格也算一个字节。 Date |cut –c 1-4 输出dc o,看似跟-b没有区别,但是如果日期换成汉字就有区别了,因为一个汉字算3个字节。 多个定位之间用逗号隔开: Date |cut –b 1-4,6 输出前4个字节和第6个字节:dc ot 分割域: 如: service1:pts/0:Oct 9 20:27: (21195114235) service2:pts/1:Oct 9 21:06: (21880203242) service3:pts/2:Oct 9 14:35: (21880203242) service4:pts/3:Oct 9 21:07: (21880213242) service5:pts/4:Oct 9 21:07: (21880213242) service6:pts/5:Oct 9 21:45: (583120519) cut –d: -f1 ftxt 把ftxt这个文件按:分割成域,取域1 输出: service1 service2 service3 service4 service5 service6 linux学习:准信培训中心(trainingzhunxinnet) 2in 功能:创建连接(类似于window下创建超链接) 使用方法: 把将目录/usr/menggc/mub l下的文件m2c链接到目J/usr/1iu下的文件a2c In /usr/menggc/mub l/m2c J/usr/1iu/a2c 本来J/usr/1iu目录下没有a2c文件,当链接成功时就会出现a2c文件。 In 选项源文件目标文件
less 功能:查看文件 使用方法: Less 文件名 Less的作用和more差不多,不同的是less 允许使用者往回卷动,查看已经看过的部分。
名称:locate 使用权限:所有使用者 使用方式: locate [-q] [-d ] [--database=] locate [-r ] [--regexp=] locate [-qv] [-o ] [--output=] locate [-e ] [-f ] [-l ] [-c] [-U ] [-u] locate [-Vh] [--version] [--help] 说明: locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的distribution 之中,资料库的建立都被放在contab 中自动执行。 一般使用者在使用时只要用 # locate your_file_name 的型式就可以了。参数: -u -U 建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。 -e 将排除在寻找的范围之外。 -l 如果是1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate 必须至实际的档案系统中取得档案的权限资料。 -f 将特定的档案系统排除在外,例如我们没有到理要把proc 档案系统中的档案放在资料库中。 -q 安静模式,不会显示任何错误讯息。 -n 至多显示个输出。 -r 使用正规运算式做寻找的条件。 -o 指定资料库存的名称。 -d 指定资料库的路径 -h 显示辅助讯息 -v 显示更多的讯息 -V 显示程式的版本讯息范例: locate chdrv:寻找所有叫chdrv 的档案 locate -n 100 aout:寻找所有叫aout 的档案,但最多只显示100 个 locate -u:建立资料库
名称:more 使用权限:所有使用者 使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames] 说明:类似cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi 相似),使用中的说明文件,请按h 。 参数: -num 一次显示的行数 -d 提示使用者,在画面下方显示[Press space to continue, q to quit] ,如果使用者按错键,则会显示[Press h for instructions] 而不是哔声 -l 取消遇见特殊字元^L(送纸字元)时会暂停的功能 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c 跟-p 相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u 不显示下引号(根据环境变数TERM 指定的terminal 而有所不同) +/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示 +num 从第num 行开始显示 fileNames 欲显示内容的档案,可为复数个数 范例: more -s testfile 逐页显示testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。 more +20 testfile 从第20 行开始显示testfile 之档案内容。
名称:mv 使用权限:所有使用者 使用方式: mv [options] source dest mv [options] source directory 说明:将一个档案移至另一档案,或将数个档案移至另一目录。 参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。 范例: 将档案aaa 更名为bbb: mv aaa bbb 将所有的C语言程式移至Finished 子目录中: mv -i c
名称:rm 使用权限:所有使用者 使用方式:rm [options] name 说明:删除档案及目录。 把计: -i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。 范例: 删除所有C语言程式档;删除前逐一询问确认: rm -i c 将Finished 子目录及子目录中所有档案删除: rm -r Finished
名称:split 使用权限:所有使用者 使用方式:split [OPTION] [INPUT [PREFIX]] 说明:将一个档案分割成数个。而从INPUT 分割输出成固定大小的档案,其档名依序为PREFIXaa, PREFIXab;PREFIX 预设值为`x。若没有INPUT 档或为`-,则从标准输入读进资料。 匡兜: -b, --bytes=SIZE SIZE 值为每一输出档案的大小,单位为byte。 -C, --line-bytes=SIZE 每一输出档中,单行的最大byte 数。 -l, --lines=NUMBER NUMBER 值为每一输出档的列数大小。 -NUMBER 与-l NUMBER 相同。 --verbose 于每个输出档被开启前,列印出侦错资讯到标准错误输出。 --help 显示辅助资讯然后离开。 --version 列出版本资讯然后离开。 SIZE 可加入单位: b 代表512, k 代表1K, m 代表1 Meg。 范例: PostgresSQL 大型资料库备份与回存: 因Postgres 允许表格大过你系统档案的最大容量,所以要将表格dump 到单一的档案可能会有问题,使用split进行档案分割。 % pg_dump dbname | split -b 1m - filenamedump 重新载入 % createdb dbname % cat filenamedump | pgsql dbname
名称:touch 使用权限:所有使用者 使用方式: touch [-acfm] [-r reference-file] [--file=reference-file] [-t MMDDhhmm[[CC]YY][ss]] [-d time] [--date=time] [--time={atime,access,use,mtime,modify}] [--no-create] [--help] [--version] file1 [file2 ] 说明: touch 指令改变档案的时间记录。ls -l 可以显示档案的时间记录。 参数: a 改变档案的读取时间记录。 m 改变档案的修改时间记录。 c 假如目的档案不存在,不会建立新的档案。与--no-create 的效果一样。 f 不使用,是为了与其他unix 系统的相容性而保留。 r 使用参考档的时间记录,与--file 的效果一样。 d 设定时间与日期,可以使用各种不同的格式。 t 设定档案的时间记录,格式与date 指令相同。 --no-create 不会建立新档案。 --help 列出指令格式。 --version 列出版本讯息。 范例: 最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。 touch file touch file1 file2 将file 的时间记录改为5 月6 日18 点3 分,公元两千年。时间的格式可以参考date 指令,至少需输入MMDDHHmm ,就是月日时与分。 touch -c -t 05061803 file touch -c -t 050618032000 file 将file 的时间记录改变成与referencefile 一样。 touch -r referencefile file 将file 的时间记录改成5 月6 日18 点3 分,公元两千年。时间可以使用am, pm 或是24 小时的格式,日期可以使用其他格式如6 May 2000 。 touch -d "6:03pm" file touch -d "05/06/2000" file touch -d "6:03pm 05/06/2000" file
名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计: -a 尽可能将档案状态,权限等资料都照原状予以复制。 -r 若source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 范例: 将档案aaa 复制(已存在),并命名为bbb: cp aaa bbb 将所有的C语言程式拷贝至Finished 子目录中: cp c Finished
指令名称:ln 使用权限:所有使用者 使用方式:ln [options] source dist,其中option 的格式为: [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 说明:Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种:硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。 ln source dist 是产生一个连结(dist)到source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。 -f:链结时先将与dist 同档名的档案删除-d:允许系统管理者硬链结自己的目录-i:在删除与dist 同档名的档案时先进行询问-n:在进行软连结时,将dist 视为一般的档案-s:进行软链结(symbolic link)-v:在连结之前显示其档名-b:将在链结时会被覆写或删除的档案进行备份-S SUFFIX:将备份的档案都加上SUFFIX 的字尾-V METHOD:指定备份的方式--help:显示辅助说明--version:显示版本 范例: 将档案yy 产生一个symbolic link:zz ln -s yy zz 将档案yy 产生一个hard link:zz ln yy xx
0条评论