超算小白的成神之路(2)

一:基本操作命令

记忆几个常用的热键:
Tab按键 — 命令补齐功能
Ctrl+c按键 — 停掉正在运行的程序
Ctrl+d按键 — 相当于exit,退出
Ctrl+l按键 — 清屏(或者键盘上输入clear)

1.关机和重启命令

sync 将数据由内存同步到硬盘中。shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。shutdown –h now 立马关机  
shutdown –h 20:45 系统会在今天20:45关机   
shutdown –h +10 十分钟后关机   
shutdown –r now 系统立马重启   
shutdown –r +10 系统十分钟后重启  
reboot 就是重启,等同于 shutdown –r now   
halt 关闭系统,等同于shutdown –h now 和 poweroff

取消定时关机的命令用:shutdown -c
PS:不管是执行上述哪一条指令,在执行指令之前养成先运行sync命令的习惯,把内存中的数据写到磁盘中

2.帮助命令

–help命令
输入下述代码,会显示 mkdir 命令的帮助信息

mkdir --help

man 命令(命令说明书)

man shutdown  
注意:man shutdown 打开命令说明书之后,使用按键q退出

二:目录操作命令

Linux系统目录为树状结构,最顶级目录为根目录,其他目录通过挂载可以将它们添加到树中,通过解除挂载可移除它们

1.绝对路径和相对路径

绝对路径:
路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由/usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man

2.目录切换 cd

命令格式:cd+目录
cd是Change Directory的缩写,这是用来变换工作目录的命令

cd /        切换到根目录  
cd /usr        切换到根目录下的usr目录  
cd ../        切换到上一级目录 或者  cd ..  
cd ~        切换到home目录  
cd -        切换到上次访问的目录

3.目录查看 ls

命令格式: ls+[常见的是a或者l ]+目录

ls [-aAdfFhilnrRSt] 目录名称   其中任意一个字母都有单独的意义
ls [--color={never,auto,always}] 目录名称  
ls [--full-time] 目录名称

记忆常用的指令:
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr

将家目录下的所有文件列出来(含属性与隐藏档):

ls -al ~

家目录: 任何一个用户执行 cd ~, 就能返回自己的家目录
对于普通用户,家目录通常位于 /home 目录下。例如,用户 zhangsan 的家目录路径是 /home/zhangsan
对于超级用户(root),家目录是 /root

4.目录操作【增删改查】

创建目录(新增) mkdir

如果想要创建新目录的话,那么就使用mkdir(make directory)
语法:

mkdir [-mp] 目录名称

选项与参数:
-m :配置文件的权限,直接配置,不需要看默认权限(umask)
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来

实例:请到/tmp底下尝试创建数个新目录看看:(没有tmp文件夹的话可以先创建一个)

cd /tmp  
[root@bogon tmp] mkdir test    <==创建一名为 test 的新目录  
[root@bogon tmp] mkdir test1/test2/test3/test4  
mkdir: cannot create directory `test1/test2/test3/test4':   
No such file or directory       <== 没办法直接创建此目录啊![root@bogon tmp] mkdir -p test1/test2/test3/test4

加了这个 -p 的选项,可以自行帮你创建多层目录

删除目录或文件 rm

语法:

rm [-fir] 文件或目录

选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)

删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:
rm -rf 将当前目录下的所有目录和文件全部删除
rm -rf / ***【自杀命令!慎用!慎用!慎用!】***将根目录下的所有文件全部删除

注意:rm不仅可以删除目录,也可以删除其他文件或压包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

rmdir (删除空的目录)
语法:

rmdir -p 目录名称

选项与参数:
-p:连同上一级的目录也一起删除
将 mkdir 实例中创建的目录(/tmp 底下)删除掉

[root@www tmp] ls -l   <==看看有多少目录存在?drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test  
drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1  
drwx--x--x  2 root  root 4096 Jul 18 12:54 test2  
[root@www tmp] rmdir test   <==可直接删除掉,没问题  
[root@www tmp] rmdir test1  <==因为尚有内容,所以无法删除!rmdir: `test1': Directory not empty  
[root@www tmp] rmdir -p test1/test2/test3/test4  
[root@www tmp] ls -l        <==您看看,底下的输出中test与test1不见了!drwx--x--x  2 root  root 4096 Jul 18 12:54 test2

利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 一次删除
不过要注意的是,这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录

目录的修改 mv和cp

mv移动文件与目录,或者修改名称
语法:

[root@bogon ~] mv [-fiu] source destination  
[root@bogon ~] mv [options] source1 source2 source3 .... directory

选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

cp(复制文件或目录)

cp即拷贝文件和目录
语法:

[root@bogon ~] cp [-adfilprsu] 来源档(source) 目标档(destination)  
[root@bogon ~] cp [options] source1 source2 source3 .... directory

选项与参数:

-a:相当于 -pdr 的意思,至于 pdr 请参考下列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination

一、重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

二、剪切目录
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

三、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

搜索目录 find

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

PS:find [搜索路径] [选项] [搜索内容] [输出处理形式]

常用选项:
-name:按照文件后缀搜索
-iname:按照文件名搜索,不区分文件名大小写
-type:按照文件类型搜索,例如d表示目录,f表示一般文件等
-size:按照文件大小搜索
-atime、-mtime、-ctime:分别按照访问时间、修改时间、状态改变时间搜索
-exec:对搜索的结果执行指定的shell命令

更多选项可以通过man find命令查看

实例
将目前目录及其子目录下所有延伸档名是 .c 的文件列出来。

find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

find . -ctime -20

当前目录显示pwd

pwd(显示目前所在的目录)
pwd是print working directory的缩写,也就是显示目前所在目录的命令

[root@bogon ~] pwd [-P]

选项与参数:
-P :显示出确实的路径,而非使用连结 (link) 路径

实例:单纯显示出目前的工作目录:

[root@bogon ~] pwd  
/root   <== 显示出目录

实例显示出实际的工作目录,而非连结档本身的目录名而已

[root@www ~] cd /var/mail   <==注意,/var/mail是一个连结档  
[root@www mail] pwd  
/var/mail         <==列出目前的工作目录  
[root@www mail] pwd -P  
/var/spool/mail   <==怎么回事?有没有加 -P 差很多~  
[root@www mail] ls -ld /var/mail  
lrwxrwxrwx 1 root root 10 Sep  4 17:54 /var/mail -> spool/mail  
# 看到这里应该知道为啥了吧?因为 /var/mail 是连结档,连结到 /var/spool/mail   
# 所以,加上 pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值