在Linux命令行终端中使用的最多的命令是ls,它可以帮助我们列出当前目录下都有哪些文件,下面是一些实例
使用pwd,查看当前是在哪个目录中,显示为"/root",这就是当前命令行所在目录
[root@localhost ~]# pwd
/root
切换到根目录
[root@localhost ~]# cd /
[root@localhost /]# pwd
/
查看根目录下面都有哪些文件和文件夹
[root@localhost /]# ls
bin data etc home lib64
media opt root sbin srv tmp var
boot dev ftp lib lost+found mnt
proc run shell sys usr webdata
可以使用两个ll详细输出,这个命令和ls -l效果相同
[root@localhost /]# ll
total 76
lrwxrwxrwx 1 root root 7 Aug 1 2017 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Jul 10 20:44 boot
drwxr-xr-x 3 root root 4096 Jul 16 22:36 data
drwxr-xr-x 20 root root 3040 Jul 17 00:19 dev
drwxr-xr-x. 91 root root 4096 Jul 22 13:21 etc
drwxr-xr-x 2 ftpuser ftpuser 4096 Jul 10 22:21 ftp
drwxr-xr-x. 3 root root 4096 Nov 5 2016 home
lrwxrwxrwx 1 root root 7 Aug 1 2017 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Aug 1 2017 lib64 -> usr/lib64
drwx------. 2 root root 16384 Feb 24 2017 lost+found
drwxr-xr-x. 2 root root 4096 Nov 5 2016 media
drwxr-xr-x. 2 root root 4096 Nov 5 2016 mnt
drwxr-xr-x. 2 root root 4096 Nov 5 2016 opt
dr-xr-xr-x 94 root root 0 Jul 17 00:19 proc
dr-xr-x---. 11 root root 4096 Sep 5 14:07 root
drwxr-xr-x 24 root root 660 Jul 22 13:21 run
lrwxrwxrwx 1 root root 8 Aug 1 2017 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Jul 17 13:25 shell
drwxr-xr-x. 2 root root 4096 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Jul 17 08:19 sys
drwxrwxrwt. 10 root root 4096 Sep 9 20:32 tmp
drwxr-xr-x. 13 root root 4096 Aug 1 2017 usr
drwxr-xr-x. 21 root root 4096 Jul 17 08:19 var
drwxrwxrwx 9 apache apache 4096 Sep 5 14:20 webdata
添加参数a将显示隐藏文件和文件夹(同ls -al),
在Linux中所有隐藏的文件和文件夹都是以符号.开头,例如下面的".autorelabel"
[root@localhost /]# ll -a
total 84
dr-xr-xr-x. 22 root root 4096 Jul 17 13:25 .
dr-xr-xr-x. 22 root root 4096 Jul 17 13:25 ..
-rw-r--r-- 1 root root 0 Feb 24 2017 .autorelabel
lrwxrwxrwx 1 root root 7 Aug 1 2017 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Jul 10 20:44 boot
drwxr-xr-x 3 root root 4096 Jul 16 22:36 data
drwxr-xr-x 20 root root 3040 Jul 17 00:19 dev
drwxr-xr-x. 91 root root 4096 Jul 22 13:21 etc
drwxr-xr-x 2 ftpuser ftpuser 4096 Jul 10 22:21 ftp
drwxr-xr-x. 3 root root 4096 Nov 5 2016 home
lrwxrwxrwx 1 root root 7 Aug 1 2017 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Aug 1 2017 lib64 -> usr/lib64
drwx------. 2 root root 16384 Feb 24 2017 lost+found
drwxr-xr-x. 2 root root 4096 Nov 5 2016 media
drwxr-xr-x. 2 root root 4096 Nov 5 2016 mnt
drwxr-xr-x. 2 root root 4096 Nov 5 2016 opt
dr-xr-xr-x 94 root root 0 Jul 17 00:19 proc
dr-xr-x---. 11 root root 4096 Sep 5 14:07 root
drwxr-xr-x 24 root root 660 Jul 22 13:21 run
lrwxrwxrwx 1 root root 8 Aug 1 2017 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Jul 17 13:25 shell
drwxr-xr-x. 2 root root 4096 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Jul 17 08:19 sys
drwxrwxrwt. 10 root root 4096 Sep 9 20:32 tmp
drwxr-xr-x. 13 root root 4096 Aug 1 2017 usr
drwxr-xr-x. 21 root root 4096 Jul 17 08:19 var
drwxrwxrwx 9 apache apache 4096 Sep 5 14:20 webdata
上面为ls最常见的用法,下面是一些并不长用的方法:
使用递归模式,显示目录以及下级子目录,
后面的more是当输出超出终端屏幕显示范围时,
显示一个more,按任意键可以继续显示下面的内容(按ctrl+c可以提前结束命令显示内容的输出)。
[root@localhost /]# ls -R|more
.:
bin
boot
data
dev
etc
ftp
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
shell
srv
sys
tmp
usr
按文件修改时间先后顺序显示
[root@localhost /]# ls -t
tmp root etc
var dev data boot sbin
lib lost+found media opt
webdata run shell sys proc ftp
usr
lib64 bin home
mnt srv
横排输出,中间用逗号分隔
[root@localhost /]# ls -m
bin, boot, data, dev, etc, ftp, home, lib, lib64, lost+found, media, mnt, opt,
proc, root, run, sbin, shell, srv, sys, tmp, usr, var, webdata
按大小排列,先大后小
[root@localhost /]# ls -S
lost+found data ftp media opt shell tmp var dev lib64 bin proc
boot etc home mnt root srv usr webdata run sbin lib sys
除此之外ls会显示不同颜色,下面是这些颜色的含义:
蓝色—目录
绿色—可执行文件
红色—压缩文件
浅蓝色—链接文件
粉红色或暗紫色—图片文件
黄色—设备文件
灰色—其他文件
[root@localhost /]# cd ..
[root@localhost /]# pwd
/
[root@localhost /]# cd ~
[root@localhost ~]#
0×4.创建、移动、复制、删除文件的操作
在当前用户的家目录中,创建一个单层目录
[root@localhost ~]# mkdir ken
[root@localhost ~]# ls
anaconda3 for.sh menu.sh shell
Anaconda3-5.2.0-Linux-x86_64.sh func.sh nginx-1.15.1 until.sh
array.sh if2.sh passwd.txt var1.sh
auto_install_lamp.sh if3.sh read1.sh var.sh
auto_scp.sh if.sh read.sh while2.sh
backup.sh ken sed.sh while.sh
case.sh list1.txt sed..sh
file.sh list.txt select.sh
first_shell.sh
添加-p参数才能创建多层的嵌套目录
[root@localhost ~]# mkdir -p top/sub/sub2
[root@localhost ~]# ls
anaconda3 for.sh menu.sh shell
Anaconda3-5.2.0-Linux-x86_64.sh func.sh nginx-1.15.1 top
array.sh if2.sh passwd.txt until.sh
auto_install_lamp.sh if3.sh read1.sh var1.sh
auto_scp.sh if.sh read.sh var.sh
backup.sh ken sed.sh while2.sh
case.sh list1.txt sed..sh while.sh
file.sh list.txt select.sh
first_shell.sh logtar.sh set_shell.sh
强制删除刚才创建的top目录"rm -rf"后面可以接任何目录或者文件
(删除目录或文件的命令,只要会这一条就足够了)
[root@localhost ~]# rm -rf top
[root@localhost ~]# ls
anaconda3 for.sh menu.sh shell
Anaconda3-5.2.0-Linux-x86_64.sh func.sh nginx-1.15.1 until.sh
array.sh if2.sh passwd.txt var1.sh
auto_install_lamp.sh if3.sh read1.sh var.sh
auto_scp.sh if.sh read.sh while2.sh
backup.sh ken sed.sh while.sh
case.sh list1.txt sed..sh
file.sh list.txt select.sh
first_shell.sh logtar.sh set_shell.sh
创建文本文件:
使用touch命令可以创建一个空文本文件
[root@localhost ~]# touch testfile
[root@localhost ~]# ls
anaconda3 for.sh menu.sh shell
Anaconda3-5.2.0-Linux-x86_64.sh func.sh nginx-1.15.1 testfile
array.sh if2.sh passwd.txt until.sh
auto_install_lamp.sh if3.sh read1.sh var1.sh
auto_scp.sh if.sh read.sh var.sh
backup.sh ken sed.sh while2.sh
case.sh list1.txt sed..sh while.sh
file.sh list.txt select.sh
first_shell.sh logtar.sh set_shell.sh
使用echo命令将hello这几个字符写入这个文件中
[root@localhost ~]# echo hello>>testfile
[root@localhost ~]# ls
anaconda3 for.sh menu.sh shell
Anaconda3-5.2.0-Linux-x86_64.sh func.sh nginx-1.15.1 testfile
array.sh if2.sh passwd.txt until.sh
auto_install_lamp.sh if3.sh read1.sh var1.sh
auto_scp.sh if.sh read.sh var.sh
backup.sh ken sed.sh while2.sh
case.sh list1.txt sed..sh while.sh
file.sh list.txt select.sh
first_shell.sh logtar.sh set_shell.sh
使用more命令显示这个文件中的内容
[root@localhost ~]# more testfile
hello
#追加一行,再次显示
[root@localhost ~]# echo My name is Ken >>testfile
[root@localhost ~]# more testfile
hello
My name is Ken
创建文本的方式不止这一种,还有下一篇文章会介绍到的vim以及图形化的文本编辑器gedit等等,
touch是创建空文本最方便的一种方式
复制文件或文件夹
首先创建两个文件夹
[root@localhost ~]# mkdir dir1
[root@localhost ~]# mkdir dir2
[root@localhost ~]# ls
anaconda3 file.sh list.txt select.sh
Anaconda3-5.2.0-Linux-x86_64.sh first_shell.sh logtar.sh set_shell.sh
array.sh for.sh menu.sh shell
auto_install_lamp.sh func.sh nginx-1.15.1 testfile
auto_scp.sh if2.sh passwd.txt until.sh
backup.sh if3.sh read1.sh var1.sh
case.sh if.sh read.sh var.sh
dir1 ken sed.sh while2.sh
dir2 list1.txt sed..sh while.sh
将testfile这个文本文件复制到dir2目录中
[root@localhost ~]# cp testfile dir2
[root@localhost ~]# ls dir2
testfile
将dir2目录复制到dir1目录中,复制非空目录要添加参数-r
[root@localhost ~]# cp -r dir2 dir1
[root@localhost ~]# ls dir1
dir2
复制多个目标到一个文件夹中,将dir1和dir2这两个文件夹以及testfile这个文本文件,
复制到后面的qing文件夹中。
[
root@localhost ~]# cp -r dir1 dir2 testfile ken
[root@localhost ~]# ls ken
dir1 dir2 testfile
移动目录或文件(剪切):
vm可以操作目录和文件,和cp一样可以一次性操作多个目标
[root@localhost ~]# mv testfile dir2 ken
mv: overwrite 鈥榢en/testfile鈥? yes
mv: overwrite 鈥榢en/dir2鈥?
将testfile dir2一起移动到qing目录中
0×5.重启和关机
使用下面的命令重启和关机(这个命令必须使用sudo或使用root权限才能执行),
sudo能让普通用户暂时获得root的执行权利
一分钟后关机
[root@localhost ~]# sudo shutdown -h 1
如果是定时关机,可以打开另外一个终端,使用下面这个命令取消关机
[root@localhost ~]# sudo shutdown -c
马上关机
[root@localhost ~]# sudo shutdown -h now
[root@localhost ~]# sudo init 0
[root@localhost ~]# sudo poweroff
马上开机
[root@localhost ~]# sudo reboot
[root@localhost ~]# sudo init 6