从今天开始就正式踏上了linux的学习历程。linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统。初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方式,可以省去很多麻烦。 我用了VMware虚拟机+CentOS7的组合,具体的安装过程就不放在这里了,网上有很多详细的帖子,也没什么难度。
一、linux命令的基本格式: 如 [root@localhost ~]# ls -a 其中[root@localhost ~]#是命令起始符 ls -a是命令
命令起始符:
root:表示当前登陆用户(linux中管理员账户名为root)
~:表示当前所在目录 (若为’~‘,表示当前目录为当前用户的家目录)
#:标识当前用户的权限: 超级用户为# 普通用户为$
命令格式:
命令 [选项] [参数]
二、linux文件类型:
和windows不同,linux文件不具有扩展名,平时在linux文件名中见到的“.xxx”只是便于使用者分辨文件类型的约定用法,对于系统来说只是文件名串的一部分而已。而linux是靠权限区分文件类型的:
这里我们使用ls -la命令,查询当前目录下所有文件的详细信息,其中每一行的第一项就是该文件的权限了。
权限默认为十位。第一位为文件类型: - 文件 d 目录 l 软连接文件 其中目录相当于“文件夹”的概念,而软连接文件相当于“快捷方式”的概念。
后九位每三位为一组,分别代表文件所有者、所属组、其他组的权限,r 读 w 写 x 执行。
比如这一项,根据其权限串drwxr-xr-x可以得到: 文件类型:目录;所有者权限:读、写、执行;所属组及其他组权限:读、执行
三、相对路径与绝对路径:
这个和之前在web项目构造中用到的路径概念是一样的。相对路径是根据当前所在目录进行查找: [root@localhost ~]# cd ../folder/src
绝对路径是从根目录开始查找: [root@localhost ~]# cd /usr/folder/src
四、软连接与硬链接:
硬链接:与原文件拥有相同的i结点和存储block块,可以看作是同一个文件的另一个入口;可以通过i节点识别;不能跨分区;不能针对目录使用
软连接:类似于Windows中的快捷方式;软连接拥有自己的i节点和Block块,但是数据块中只保存原文件的文件名和i节点号,没有实际的文件数据;软连接的文件权限都为lrwxrwxrwx;删除原文件后,软连接也自然不能使用。
五、基本文件操作命令:
1、查询目录中的内容
ls [选项] [文件或目录]
-a:显示所有文件 (文件名以.开头的是隐藏文件)
-l:显示详细信息
-d:查看目录属性
-h:人性化显示文件大小(单位)
-i:显示inode(文件id号)
ls -l命令也可直接用 ll 命令代替
2、建立目录 make directories
mkdir -p [目录名]
-p : 递归创建(先创建上一级目录,再创建下级目录) 如: mkidr -p folder1/folder2 这个命令会先创建folder1目录,再在folder1下创建folder2目录。
3、切换目录 change directory
cd [目录]
可以进行简化: cd ~ 直接回到家目录 cd 直接回到家目录 cd -进入上一次访问的目录 cd ..进入上一级目录cd .进入当前目录
4、查询所在目录位置 print working directory
pwd
例如:
5、删除空目录 remove empty directory
rmdir [目录名]
6、删除文件或目录 remove
rm -rf [文件或目录]
-r 删除目录
-f 强制删除
警惕:对待linux命令一定要严谨,有些我们可能认为不会执行的命令、或者手滑输入之类,系统都会忠实的执行。 比如这条: rm -rf / ,这条命令会直接删除根目录下所有文件,系统直接自杀。。。。并不会像windows一样,有各种系统设定来避免你做出这样的操作(不信你在windows系统内格式化一下C盘试试。。)
7、复制 copy
cp [选项] [原文件或目录][目标目录]
-r:复制目录
-p:连带文件属性复制
-d:若源文件是链接文件,则复制链接属性
-a:相当于 -pdr 目标文件和源文件会完全一致,包括修改时间
若[目标目录]中写了文件名,则为改名复制。
8、剪切或改名 move
mv [原文件或目录] [目标目录]
与rm等命令不同,此命令在操作目录文件时也不需要加-r
做改名操作时,只需让原文件和目标文件在同一目录下即可
9、链接命令 link
ln -s [原文件] [目标文件]
-s:生成软链接
原文件记得要写绝对路径。
六、linux下常见目录
/bin 二进制可执行命令/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公共的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录
做练习的时候,最好在tmp下进行练习。一方面其他目录下大量的文件看着麻烦,另外也可以避免误操作重要文件带来的系统问题。