Windows的最基本操作就是双击打开加上一些文件的复制粘贴,创建文件/文件夹 和删除文件/文件夹以及关机等等。
同样,Linux也有一样的功能,只不过是从鼠标的左右键变成了键盘的字符去实现这些功能
首先打开终端,在Linux图形界面空白处点击鼠标右键,选择Open Terminal,弹出窗口如下:
-
ls [选项] [参数]
ls 命令是显示当前目录下所有的文件及目录的,ls 后面跟的选项 -a 是显示隐藏文件及目录的, -l 是显示文件的详细信息(文件/目录的元数据及文件/目录名称)两个选项可以合并 后面的参数一般是文件或者文件夹的路径,文件的话就只显示此文件名,目录的话就显示此目录下的文件以及目录 [root@centos6 ~]#ls -a -l [root@centos6 ~]#ls -al [root@centos6 ~]#ls /etc/pango/ [root@centos6 ~]#ls -al /etc/pango/
** cd **
cd 命令是用来切换目录的,后面跟路径则切换到指定目录下
其中“..”代表当前目录的上一级目录,“.”代表当前目录
cd 后面什么都不跟,默认是cd ~,即返回/home目录
[root@centos6 ~]#cd /etc/sysconfig/
[root@centos6 sysconfig]#cd ..
[root@centos6 etc]#cd
[root@centos6 ~]#
** cp** [源] [目标]
cp 命令比较麻烦,因为后面要跟两个参数,它是用来复制文件或者目录的
此命令必须有两个参数,即复制源文件/目录 和 目标目录或文件
(复制到目标文件时若文件不存在则创建,存在且同名时则覆盖目标文件的内容)
[root@centos6 ~]# cp /etc/passwd /var
此操作为把/etc下名为passwd的文件复制到目录/var下
此图为 cp 命令的几种情况,此外,cp命令后面的选项也很重要
当复制源为目录时,须使用-r 选项, -r 意为递归,即复制源目录时,及其子文件和目录均执行同样操作
[root@centos6 ~]#cp -r /etc/sysconfig /home
如果不确定复制到目标目录或文件是否存在时,
可以使用-i 选项来通过终端询问并且目标目录或文件已存在时会提示是否覆盖
此外,有些复制操作需要复制权限或者时间戳等等元数据的时候,需要执行-p 选项
mv 移动
move 的缩写,相当于Windows的剪切,也具有给文件或者目录重命名的功能
[root@centos6~]#mv /etc/passwd /home/passwd1
此操作即移动/etc下名为passwd的文件到/home下并重命名为passwd1
当目标目录下有重名文件或目录,又需要强制覆盖时,则需要-f 选项
[root@centos6 ~]#mv -f /etc/passwd / /home/passwd2
如果仅需要对文件重命名时,只需
[root@centos6 ~]# mv test1 test2
rm 删除
rm 为删除命令,操作很简单
[root@centos6 ~]#rm test3
rm: remove regular file 'test3'?y
[root@centos6 ~]#
执行 rm 会提示是否删除,因为这里涉及到一个别名的问题,默认是执行rm -i 选项的命令
是防止误操作删除数据的一个提示功能, 如果确定要删除,只需要在询问语句后面敲一个y 回车就可以了
如果执行 rm 操作的时候确定不需要询问,则只需要
[root@centos6 ~]#\rm test4
-f 选项是强制删除,不会询问直接删除,-r 是递归,删除目录且目录不为空时会用到
[root@centos6 ~]#rm -rf test5
tree
将当前目录以及所有目录及文件以树状图的形式显示在终端,此命令需要安装
[root@centos6 ~]#cd /media/CentOS_6.9_Final/Packages/
[root@centos6 ~]#rpm -ivh tree-1.5.3-3.el6.x86_64.rpm
[root@centos6 ~]#tree
当然,想显示其他目录下的树状图只需要tree 后面加上路径即可
[root@centos6 ~]#tree /etc/sysconfig/
**touch ** 创建文件/更新时间戳
当文件不存在时,执行touch创建
[root@centos6 ~]#touch test6
当文件已存在时,执行touch更新时间戳
who
who命令是显示目前登录系统的用户信息。执行who命令可得知目前有哪些用户登入系统
单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入
cat
适合查看内容比较少的文件
[root@centos6 ~]#cat /etc/passwd
mkdir 创建目录
-p 选项为创建多级目录 例:创建目录a且a目录下有b,c,d子目录,创建x目录且x的子目录下有y,z子目录
[root@centos6 ~]#mkdir -p a/{b,c,d} x/{y,z}
-v 显示创建过程、创建步骤的详细信息
**tr **转换和删除字符
使用 < 来重定向标准输入
某些命令能够接受从文件中导入的STDIN
[root@centos 6~]#tr a-z A-Z< /etc/issue
\S
KERNEL \R ON AN \M
[root@centos 6~]#
该命令会把/etc/issue中的小写字符都转换成写大写字符
tr –d abc < /etc/fstab 删除fstab文件中的所有abc中任意字符
“<”字符是重定向输入的意思,上述例子中可以理解为把/etc/issue文件中的内容作为输入内容
通过tr 命令将所有小写字母替换成大写字母,然后在终端输出
所以终端上输出的所有字符都变成了大写(当然,这个解释是为了便于理解,并不严谨)
有重定向输入就有输出,“>”则为重定向输出,很简单
[root@centos 6~]#ls > test7.txt
上述例子意为 将ls命令的执行结果写入文件test7.txt中,若此文件不存在,则自动创建,若文件存在,则覆盖文件的内容
“>>”此为追加重定向输入,将“>”替换为“>>”则不会覆盖已存在文件的内容,如果文件不存在,则创建新文件
**man **
man 命令用来查看其它命令的含义以及基本的使用方法,Linux命令数量以及选项数量实在太过庞大
不可能面面俱到全部都能记住并且烂熟于心灵活运用,这时候就需要一种工具
在需要使用某些命令的时候能快速找到并且了命令的使用方法
[root@centos 6~]#man ls
上述信息是执行
[root@centos 6~]#man ls
时所显示的信息,具体信息如上如标注,主要记基本语法格式和一些主要选项,不需要全记(实在太多,记不过来的)
"Attention"
cp,mv,rm 等等一些对文件操作较为敏感的命令,默认都加了 -i 选项
会以交互式的对话框让用户确认是否执行操作,这里就涉及到了别名的问题
所以执行这些命令的时候 -i 可以不加,后续会介绍别名的作用以及增减别名
心得
起初对Linux不是很熟悉也不了解的同学不用太纠结为什么
就好像用Windows为什么鼠标右键就会有菜单可以复制粘贴?
一样的,Linux很多基础的东西比如命令需要多敲多记,烂熟于心就OK了
不用问过多的为什么,后续一点一点的就加深了, 基础很重要
以文件为中心就是简单的查看、复制、粘贴、删除、后续会简单介绍文件的修改
以及一些其他比基础稍微需要点逻辑的命令