1、相对路径与绝对路径
什么是路径:路径是用来标识一个文件在操作系统的文件系统中存储位置的。pathname
绝对路径:路径是从绝对位置开始的。譬如windows中从某一个盘符看是(C:\),linux中从根目录/开始。
相对路径:指明路径的时候,是从当前所在的位置开始的。
2、linux常用命令
(1)ls(list,列表)
- 作用:使用列表把当前文件夹下所有文件显示出来
- ls -a 显示所有文件,包括隐藏文件
- ls -l 以详细信息显示
- ls -a -l
- ls -l -a
- ls -la
- ls -al 四种方式都是可以的
(2)cd(change directory,更改目录)
- 作用:用来切换目录
- 涉及到相对路径和绝对路径
- cd .. ..代表上一层目录
.代表当前目录
(3)pwd(print work directory,打印工作目录)
- 作用:打印出当前的绝对路径
(4)mkdir(make directory,创建文件夹)
- 作用:创建空文件加
- mkdir -p 级联创建文件夹
(5)mv(move,移动)
- 作用:在目录间移动文件,修改文件名
- mv 源文件pathname 目的文件pathname
(6)touch
- 作用:创建空文件
- touch pathname
(7)cp(copy,复制)
- 作用:复制文件或文件夹
- cp 源文件pathname 目标文件pathname
- cp -r 用来复制文件夹
- cp -f 强制复制
- 实际操作时,一般都是cp -f复制文件,cp -rf复制文件夹。
(8)rm(remove,去除,删除)
- 作用:用来删除文件,文件夹
- rm 文件pathname
- rm -r 文件夹pathname
(9)cat
- 作用:直接在命令行下显示文件内容
(10)rmdir(remove directory,删除文件夹)
- 作用:删除空文件夹
(11)ln(link,连接文件)
- 基础:windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。
linux中有两种连接文件:
- 一种叫软连接(符号连接),等同于windows中快捷方式
- 一种叫硬连接
创建软连接文件:ln -s 源文件名 符号连接文件名
- 举例:ln -s src.c link.c, link.c就是src.c的一个符号连接文件
硬连接:ln 源文件名 连接文件名
- 硬连接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其它的硬连接文件存在,这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。
man
- 作用:查询man手册,获得帮助信息
- man 1 ls 1表示查询的是linux命令
- man 2 xxx 2表示查询的是linux API
- man 3 xxx 3表示查询的是C库函数
(12)apt-get
- 作用:在ubuntu中用来在线安装、卸载软件的程序。
- apt-get install vim
- apt-get remove vim
- 注意:安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get。
- 说明:apt-get安装软件的原理和必要性。
- linux操作系统的发行版本,内核版本,定制型,造成了linux中软件的不兼容性。在linux中安装软件是一件困难的事情,装了软件能不能用不一定。ubuntu解决了这个问题,ubuntu就适合某个发行版(ubuntu10.04)的所有软件做了一个列表,然后用户通过apt-get install的方式安装软件,就会实时连接到ubuntu服务器,服务器会根据你的ubuntu版本,给你下载合适的软件来安装。这样确保了软件的兼容性。
3、ls -l显示的详细信息中:
- -rw-r--r--
- drwxr-xr-x
- 一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。
文件类型:
- - 表示普通文件。普通文件指文本文件和二进制文件,如a.c 1.txt a.out等都是普通文件
- d 表示文件夹,d是directory的缩写
- l 表示符号连接文件,后面会用->打印出它指向的文件
- s 表示socket
- p 表示管道文件 pipe
4、linux命令行中一些符号的含义:
. 代表当前目录
.. 代表上一层目录,当前目录的父目录
- 代表前一个目录,刚才从哪个目录cd过来
~ 代表当前用户的宿主目录(家目录)
/ 代表根目录
$ 普通用户的命令提示符
# root用户的命令提示符
* 万能匹配符(通配符)
宿主目录:所谓宿主目录,就是操作系统为当前用户所设计的用来存放文件、工作的默认目录。如windows中的“我的文档”目录,就是windows为我们设计的宿主目录。
Linux中每个用户都有自己的宿主目录,这个目录对于普通用户来说,在/home/username/,而对于root用户来说,在/root。
5、vi基础使用
- 使用vi来打开/创建一个文件,vi pathname
- vi的两种模式:
- 命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键。
- 在命令模式下,此时键盘上输入的所有东西都被vi当作命令来对待。
- 在命令模式下,最好不要乱输入。此时应该输入相应的命令,来让vi做相应的事。
- 输入模式:输入模式用来向文件输入内容。可以从命令模式中按a挥着i键进入输入模式。进入输入模式后,就可以随意按键盘进行输入了。输入完成后如果要保存,要先退回到命令模式(因为保存也是一种命令)。在输入模式下按ESC键退回到命令模式。
- 注:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名信息,等处于输入模式时,提示 -- INSERT --
在命令模式下如何保存:
- :wq 保存并且退出
- :w 只保存不退出
- :q 不保存退出
- :q! 不保存强制退出
- :wq! 保存并强制退出
6、vi的高级使用
(1)查找
- 在命令模式下,输入/xxx,就可以查找到xxx。
(2)快速切换行
- 在命令模式下,输入:num(一个数字),就可以快速切换到num行。
(3)设置显示行号
- 在命令模式下,输入:set nu,就可以显示行号吗;输入:set nonu,就可以设置不显示行号;
- 设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。
(4)行删除
- 命令模式下,先将光标移动到要删除的行,然后输入dd;
- 如果要删除连续多行,譬如要删除连续的3行,使用3dd。
(5)行复制粘贴
- 复制:命令模式下,nyy
- 粘贴:命令模式下,p
- 细节复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行。
7、linux中权限表示&管理
(1)普通用户与特权用户 su命令切换用户
- Windows中有普通用户和特权用户,特权用户是Administrator,普通用户可以有很多个。
- 特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件,不能访问其它用户文件,更不能随意处理操作系统的文件。
- Linux中也有普通用户和特权用户的区别。特权用户就是root用户。普通用户权限受到限制,譬如说普通用户不能cd /root,普通用户不能使用apt-get install来安装软件。
- 可以使用su 用户名,来在不同用户间切换。譬如要从普通用户切换到root,可以su root,然后输入root的密码即可转入root用户。从root要切换到普通用户xuwei,则 su xuwei即可。
(2)rwx与权限表示
ls -l
显示详细信息
- drwxr-xr-x 10个字符,第一个字符表示文件类型。剩下的9个分成3组,表示文件权限。
- 前三个表示此文件的属主(用户)对文件的权限
- 中间三个表示此文件属主所在的组(用户组)对文件的权限
- 最后三个表示其他用户对文件的权限
rwx怎么解析:r代表可读,w代表可写,x代表可执行
- rwx:可读,可写,可执行
- r-x:可读,不可写,可执行
- r--:可读,不可写,不可执行
(3)使用sudo暂时获取root权限
- 这是ubuntu的一个特点,在ubuntu中可以使用sudo命令让普通用户暂时获取root用户的权限,而不必进行用户切换。
8、find
- 在linux文件系统中,用来查找一个文件放在哪里了。
- find /etc -name "interfaces"
总结:
(1)什么时候用find?
- 当你知道你要找的文件名,但是你忘记了它被放在哪个目录下,要找到该文件时,用find。
(2)怎么用find?
- find 路径 -name “文件名”
9、grep
功能:在一个文本文件中,查找某个词。
举例:grep -nr "SUN" *
总结:
(1)什么时候用grep?
- 当你想查找某个符号在哪些地方(有可能是一个文件,也有可能是多个文件组成的文件夹)出现过,就用grep。
(2)怎么用?
- grep -nr "要查找的符号" 要查找的目录或文件集合
注意:-n表示查找结果中显示行号,-r表示要递归查找
10、which和whereis
功能:查找一个应用程序(二进制文件)在哪里
区别:
which只显示二进制文件的路径
whereis显示二进制文件路径,和其源码或man手册位置
11、uname
功能:查看系统信息
举例:uname -a , uname -r
12、开机和关机
- shutdown -h now 立即关机
- init 0 关机
- shutdown -r now 立即关机
- poweroff 关机
- reboot 重启
13、tree/lstree
功能:显示文件和目录,由根目录开始的树形结构。
14、mount/umount
功能:用来挂载磁盘到文件系统中
举例:mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt 挂载
umount /mnt 卸载
15、磁盘空间相关
- df -h 显示已挂载的分区列表
- du -h 列出文件或文件夹的大小
du -h 文件名,可以列出这个文件有多大,列出方式是以人比较好懂的方式显示
16、用户管理
- useradd user1 添加一个名为user1的用户
- userdel user1 删除一个名为user1的用户
- passwd user1 为名为user的用户设置密码
17、权限管理
作用:用来管理文件的权限
- chmod (change mode)修改文件权限
- chown (change owner)修改属主
- chgrp (change group)修改文件的组
ls -l 列出的属性
- -rwxr-xr-x
- 一共10个字符,第一个表示文件属性(d表示文件夹,-表示普通文件),剩下的9个分成三组。
- 每组中三个分别表示r可读,w可写,x可执行。如果是字母表示有这个权限,如果是-表示没有这个权限。
- 三组分别表示:
- 第一组表示属主(用户)的权限,
- 第二组表示属主所在的组(用户组)的权限,
- 第三组表示其他用户的权限。
权限还有另一种表示方法,用数字来表示。
编码规则如下:
- r 可写 4
- w 可读 2
- x 可执行 1
- - 无权限 0
有了这个编码规则,则rwxr-xr-x 编码后为755
第一种修改权限的方法:
要把权限改成 rwxr--r-- 则对应的编码值为744
修改命令为:chmod 744 文件名
第二种修改权限的方法:
在原来权限的基础上进行修改,即增加或减少某权限。
三个组用户的编码依次为: 属主(用户)u 属主所在的组(用户组)g 其它用户o
譬如
要属主增加可执行权限: chmod u+x 文件名
其他用户增加写权限: chmod o+w 文件名
属主所在的组用户去掉可执行权限: chmod g-x 文件名
18、文件打包压缩和解压缩
- tar -czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz
- tar -cjvf dir.tar.bz2 dir/ 将dir目录打包成dir.tar.bz2
- tar -zxvf dir.tar.gz 解压缩dir.tar.gz
- tar -jxvf dir.tar.bz2 解压缩dir.tar.bz2
19、网络配置命令
- ifconfig eth0 192.168.1.13 设置IP地址
- ifconfig eth0 up 启动网卡
- ifconfig eth0 down 禁用网卡
- ifup eth0 启动网卡
- ifdown eth0 禁用网卡
- ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置IP和子网掩码
注:笔记内容整理于《朱老师带你零基础学Linux》