Windows的最基本操作就是双击打开加上一些文件的复制粘贴,创建文件/文件夹 和删除文件/文件夹以及关机等等。
同样,Linux也有一样的功能,只不过是从鼠标的左右键变成了键盘的字符去实现这些功能
首先打开终端,在Linux图形界面空白处点击鼠标右键,选择Open Terminal,弹出窗口如下:

  1. 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了
	不用问过多的为什么,后续一点一点的就加深了, 基础很重要
	以文件为中心就是简单的查看、复制、粘贴、删除、后续会简单介绍文件的修改
	以及一些其他比基础稍微需要点逻辑的命令