摘自朱有鹏老师公开课视频

2、linux基础知识与技能
2.1、linux内核、发行版
linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的,可以使用的操作系统是一个包含了内核和一批有用的应用程序的一个集合体,这个就叫linux发行版。
ubuntu、redhat就是linux的不同的发行版。
2.2、GUI(图形用户界面)和cmdline(命令行)
GUI:grahics user interface,图形用户界面。
cmdline:command line,命令行。
人机交互:人和机器(计算机)进行交互,常用的有命令行和GUI。
Windows下既有GUI,又有命令行。linux中也是既有GUI,又有命令行。
但是,在linux中我们常用命令行,在Windows中常用GUI
2.3、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,删除文件夹)
作用:删除空文件夹
rmdir和rm -r的区别:rmdir只能删除空文件夹,而rm -r可以删除空文件夹和非空文件夹

(11) ln(link,连接文件)(常用)
基础:windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。

linux中有两种连接文件:
一种叫软连接(符号连接),等同于windows中快捷方式
一种叫硬连接
创建软连接文件: ln -s 源文件名 符号连接文件名
举例:ln -s src.c,linker.c, linker.c就是
src.c的一个符号连接文件

硬连接:ln 源文件名 连接文件名
硬连接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬连接存在,这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。

(12) man
作用:查询man手册,获得帮助信息
man 1 ls 1表示查询的是linux命令
man 2 xxx 2表示查询的是linux api
man 3 xxx 3表示查询的是C库函数
注意:在man手册中查询时,退出按Q键(Q就是quit的缩写)

(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版本,给你下载合适的软件来安装。这样确保了软件的兼容性。


基础知识:
1、ls -l显示的详细信息中:

-rwxr-xr-x

drwxr-xr-x

一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。

文件类型:
- 表示普通文件。普通文件指文本文件和二进制
文件,如a.c 1.txt a.out都是普通文件
d 表示文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件 pipe