点击查看Evernote原文。
#@author: gr
#@date: 2014-10-11
#@email: forgerui@gmail.com
前言
- 为什么学习Linux?
:-)
酷Cool
了解系统的底层,而不是界面
工作需求- 这次学习的目标
基本会使用Linux
熟悉Linux开发环境
在Linux下开发程序- 我自己也不是很懂,大家一起共同讨论学习。讲的内容也不是很全,只是一些基础知识,大家如果希望使用好Linux,还要自己多去研究探索。关键就是多练多用多解决问题。
- 推荐图书《鸟哥的私房菜-基础篇》,如果想了解Shell编程的话,可以看《Linux Shell脚本攻略》。更高级的书《深入理解LINUX内核》,《UNIX环境高级编程》。
一、Linux文件系统结构
-
了解Linux目录结构,及各个目录存放的内容
和
Windows
进行C盘、D盘分盘不同,Linux的文件系统是以树进行组织的。如图,是根目录/
下的文件。/
: 根目录,所有文件的最高目录/bin
: 存放常用命令/dev
: 存放设备文件/etc
: 存放配置文件/home
: 用户工作目录/lib
: 存放共享链接库/root
: 超级用户的工作目录/sbin
: 系统管理员的程序/tmp
: 存放临时文件/usr
: 存放用户程序的目录/proc
: 操作系统的实时信息/var
: 存放系统的日志文件 了解文件的权限
文件的权限有r
,w
,x
,代表的数值分别为4,2,1;
例:如果权限是5,5=4+1;6=4+2;7=4+2+1;
文件的权限管理。文件有三种权限,分别是该文件的所属用户,与所属用户同组的用户,其他用户。分别表示为u
,g
,o
。
二、Linux基础命令
ls
(list): 列出目录下的所有文件
# 显示/home目录下的文件
ls /home/
# 显示所有文件,包括隐藏文件(前面有.)
ls -a
# 显示详细信息
ls -l
# 按修改时间排序
ls -ccd
(change directory): 改变当前目录
路径有绝对路径和相对路径。
绝对路径是从根目录/
开始的。
相对路径是相对当前工作目录的路径,使用相对路径,可以更简单方便。
# 返回到上一层目录。 ../ 表示上一层
cd ../
# 进入当前目录的Documents子目录下,不必要敲全路径
cd Documents/-
mkdir
(make directory): 新建一个目录# 在当前目录下新建一个叫workspace的目录
mkdir workspace
mkdir -p /home/gr/t/t1 rm
(remove): 删除文件或目录
# 删除/home下的test文件
rm /home/test
# 删除t/文件夹
rm -rf t
注意: 如果不清楚命令的话,慎用rm
。mv
(move): 移动文件或目录
mv test /home/
# 进行重命名
mv test test1cp
(copy): 拷贝文件或目录
cp test /home/
# 拷贝目录
cp -r t /home/pwd
: 显示当前目录sudo
: 以超级管理员的权限运行,su
命令
# 以超级管理员的权限执行后面的拷贝命令
sudo cp -r t /home
# 切换到tmp用户
su tmp-
chmod
: 改变文件权限
上面讲到文件的权限有三组。-
代表无权限。如下:
文件描述一共有10个字符表示,第一个代表文件类型,以后3组分别为文件所有者的读、写和执行权限;与所有者同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
# 使文件的权限都变成可读可写可执行
chmod 777 test
# 使用/home文件下所有文件都变为可读可写可执行,包括子目录
chmod -R 777 /home/
# 文件的所有者添加可执行权限
chmod u+x test
# 所有用户都添加可读权限
chmod a+r test
# 其他用户去掉可写权限
chmod o-w test注意:权限管理在Linux中很重要,一些问题可能就是因为没有权限导致的。
ifconfig
: 查看ip地址
三、 软件安装
最基本的是使用源码进行编译安装。
首先下载程序的源代码,一般编译安装有三个步骤,分别是配置,编译,安装。如下:
./configure
make
sudo make install
当然,也有一些软件使用Cmake进行管理,这时命令稍微有些区别。
mkdir release
cd release
cmake ../
make install使用别人打包好的软件包进行安装。不同的发行版本有不同的软件包管理方式。以
Redhat
阵容的软件管理使用rpm
工具,以Debian
阵容的软件管理采用dpkg
。
# 安装rpm包
rpm -ivh tftp.rpm
# 安装deb包
dpkg -i tftp.deb-
当有网络时,可以用软件源进行安装。分别使用更高级的
yum
和apt-get
更方便。它们会为你自动解决依赖问题,安装需要的软件。# Redhat方式
sudo yum install vim
# Debian方式
sudo apt-get install vim
一般软件安装有以上三种方法,但也些软件会提供安装程序,那样直接运行软件的安装程序即可以安装。
除了源安装,其它的安装一般要手动解决依赖关系,这也是在Linux中安装软件的一大棘手问题。