目录
一、cp 复制文件或目录
把一个、或多个源文件、或源目录复制到指定的文件或目录中
1、语法:cp [options] source dest
2、常用参数说明:
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-r,-R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
3、实例
(1)文件a.txt------->b.txt(不存在的):
cp a.txt b.txt
结果是新建b.txt文件,并把a.txt的内容复制到b.txt中。
(2)文件a.txt------->b.txt(存在的):
cp a.txt b.txt
结果是用a.txt的内容覆盖b.txt原有的内容。
但是,中间会提示:cp: overwrite ‘b.txt’? y
为什么会提示呢?因为linux系统默认对cp命令做了别名alias cp='cp =i',若不想使用别名可使用\cp a.txt b.txt
(3)文件a.txt------>目录cptest:
cp a.txt cptest/
结果是在cptest目录下创建同名同内容的a.txt。
(4)复制文件a.txt,b.txt,c.txt到目录cptest中:
cp a.txt b.txt c.txt cptest
结果是把a b c文件同时复制到cptest目录下。
注意:cp多个文件时,文件中间只能有一个空格!且目标必须存在且必须是目录,其它均出错!
(5)目录dir1-------->目录dir2
cp -r dir1 dir2
注意:复制目录时,必须使用参数"-r"或者"-R"!
(6)复制多个目录dir1,dir2,dir3到dir4
cp -r dir1 dir2 dir3 dir4
注意:复制多目录时,目标目录必须存在,否则复制失败!
(7)将当前目录"test/"下的所有文件复制到新目录"newtest"下:
$ cp –r test/ newtest
二、mv 为文件/目录改名、或移动文件/目录的位置
mv [options] source dest
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 要覆盖某已有的目标文件时不给任何指示,直接覆盖。
命令格式 |
运行结果 |
---|---|
mv 文件名 文件名 |
文件改名,将源文件名改为目标文件名 |
mv 文件名 目录名 |
文件移动,将文件移动到目标目录 |
mv 目录名 目录名 |
对目录改名or移动; 目标目录已存在,将移动到目标目录;不存在则改名 |
mv 目录名 文件名 |
出错 |
三、rm 删除一个文件或目录
-i 删除前逐一询问确认。
-f 强制删除;即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除,若删除目录则必须加-r
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令!
四、ls 显示指定目录下的内容
ls 默认只显示当前目录下的所有文件或目录的名称
ls -l 在linux中默认被设置为别名 ll,除文件名称外,也列出文件类型、权限、大小等详细信息
ls -t 按文件建立时间先后次序列出,新文件在前
ls -a 把隐藏文件和目录也显示出来
ls -R 把目录下的子目录中的文件或子子目录内容全部都显示出来
五、touch 创建文件和修改文件或目录的时间属性
1、语法:touch [options] filename
2、touch filename 当文件filename不存在时,会创建一个空白文件
3、touch file1/dir1 当文件或目录存在时,修改它们的时间属性为当前系统时间
(可通过ll 命令来查看文件/目录的时间属性)
4、也可以带参数,修改文件或目录的最近访问时间、修改时间等等
六、mkdir 创建目录
1、命令格式:mkdir 【选项】【文件名】
2、命令参数
使用帮助命令:man mkdir或mkdir -help
-m --mode=模式,设定权限<模式> (类似 chmod)
-p --parents 递归创建目录
-v, --verbose 每次创建新目录都显示信息
3、命令实例
创建一个空目录abc:mkdir abc
递归创建多个目录:mkdir -p test/test1/test2
创建目录时显示日志信息:mkdir -v test3
创建权限为777的目录:mkdir -m 777 hao
七、su 与 su - 与sudo 切换用户身份
用于变更为其它使用者的身份,除 root 外,需要键入该使用者的密码。
1、su app
从当前用户切换到app用户,但是还在当前用户的目录下,即没有改变用户的环境。
2、su - root
从当前用户切换到root用户,并且转到root用户的家目录下,即改变到了root用户的环境。
3、sudo 执行命令
管理员授权一些普通用户去执行一些root执行的操作,而不需要知道root密码。
sudo vim /etc/group,在该文件的 sudo 组中加入新的授权用户,多个用户间使用逗号分隔,从而使新用户具有sudo权限。
在 /etc/sudoers 文件中配置安全策略(授权用户可以做什么,不可以做什么),在配置行中添加NOPASSWD,去掉密码验证: ALL=(ALL) NOPASSWD: ALL
八、alias 设置指令的别名
alias [别名]=[指令名称]
alias 别名:显示出别名代表的指令
alias 若不加任何参数,则列出目前所有的别名设置。
若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名
unalias命令用于删除别名
unalias [-a][别名]
unalias 别名----删除指定别名
unalias -a 删除全部别名,慎用!
九、kill 删除执行中的程序
1、杀死指定pid的进程
kill 12345
2、强制杀死进程
kill -KILL 12345
3、彻底杀死进程
kill -9 12345
十、其它命令--clear、who
1、clear:清除屏幕,没有参数
2、who:显示系统中有哪些使用者正在上面,不带参数即可;
who -H 显示出各列的标题信息。