1. linux的介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、
支持多线程和多CPU的操作系统。
为什么要使用linux进行项目开发?
Linux的应用领域:
1. 个人桌面LINUX
跟我们的windows一样作为个人计算机系统。
2. 嵌入式Linux系统应用领域
由于Linux开发源代码、功能强大、可靠、稳定性强、灵活以及具有极大的伸缩性。
再加上它广泛的支持大量的微处理器体系架构、硬件设备和通信协议。因为在嵌入式行业里面
现在越来越多的应用linux操作系统。
3. linux作为企业级的服务器应用
1. 免费且开源
2. 稳定并且有强大的社区支持
3. 使用自由
4. 海量的开源应用
5. 安全
2. Ubuntu软件的安装
APT(Adanvace Packing TOOL)是一款强大的安装包工具。
我们把其称之为命令行软件包管理工具,用于获取、安装、编译、卸载和查询软件包,以及检查
软件包之间的依赖关系。
a. 工作原理
/etc/apt/sources.list
用来指定ubuntu的软件源服务器地址的。
b. 修改源
查找你ubuntu对应版本的软件源服务器地址
sudo gedit sources.list
从百度上把你的新的源的地址copy下来将sources.list文件中的内容覆盖掉。
c. 查看你的ubuntu有没有连上外网
ping www.baidu.com
d. 更新软件包
sudo apt-get update
下载更新软件列表的信息。
其实就是通过这个指令知道源里面有哪些软件。
可以把服务器上面的最新的软件列表信息下载到本地。
sudo apt-get upgrade
将已经安装的软件和软件列表进行对比,提示更新软件。
e. 指定安装某个软件
sudo ape-get install 软件包的名字
例子:
sudo apt-get install vim
下载vim软件
sudo apt-get install mplayer
f. 卸载软件
sudo apt-get remove 软件包的名字
g. 搜索拼音类的软件
sudo apt-cache search 软件包的名字
如:
sudo apt-cache search pinyin
3. vi/vim
vim是vi的改进版本。
vi/vim是unix/linux中最基本的、最常用的、功能最强大的文本编辑器。
vi/vim有两种模式:
编辑模式:键盘上所有输入的字符都当成文本内容
命令模式:键盘上所有输入的字符都当成命令
当进入vi/vim时,默认是出于命令模式。
命令模式切换到编辑模式
i(insert): 进入编辑模式,进入编辑模式后,光标(偏移量)不动
I(insert): 进入编辑模式,进入编辑模式后,光标移动到本行的行首
o(open) : 向下开路。在光标的下一行,新开一行
O(open) : 向上开路。在光标的上一行,新开一行
a(append): 光标向后移动一个字符。
A(append): 光标移动到行尾。
编辑模式切换到命令模式
按下ESC键
vi/vim的命令:
:q(quit) 退出vi/vim的命令
如果修改文件的内容退出时会询问你是否保存,输入n不保存,输入y保存
:q! 不保存强制退出
:w(write) 保存
:w filename 保存内容到指定的路径下(另存为,会拷贝一份)
:wq 保存并且退出
:x 保存并且退出
vim中删除以及修改命令:
x : 删除光标所在的位置
dd : (delete)删除光标所在的行,并将删除的内容保存在剪切板中
ndd : n表示的是一个数字,删除包括光标所在当前行以及以下的n行
dd和ndd就是剪切
r : (replace)替换光标所在的单个字符
R : 替换光标及以后的多个字符(按下ESC键退出替换模式)
在替换模式下按删除键可以回退替换字符
vim中的粘贴命令:
yy : 将当前行的内容拷贝到剪切板中去
p(print):是将剪切板中的内容粘贴到当前行的后面
P(print):是将剪切板中的内容粘贴到当前行的前面
vim撤销命令:
u/U(undo):撤销
vim搜索命令:
/要搜索的内容
n(next):找下一个匹配到的内容
N(next):反向搜索下一个匹配的内容
vim替换命令:
s(substitude) 替换
:{作用范围}s/{目标}/{替换}/{替换标志}
“作用范围”:作用范围写就是在当前行
如果是全文 %
如果要选区
5,12 意味着5-12行
.,+2 意味着当前行以及接下来的两行
“替换标志”:g(global)全局替换(即所有出现的目标都替换)
i(ignore)忽略大小写
vim显示行号:
:set nu
vim的配置文件处于 ~ 中
可以通过输入ls -a查看当前目录下有哪些文件(包括隐藏文件)
vim ~/.vimrc(vim的配置文件)
4. 文件系统相关命令
文明系统是什么?
用来管理文件的一套组织方法以及软件系统。
我们的操作系统去保存我们的文件并不是无纪律、无组织的存储,而是以有组织、有纪律的存储。
我们就将这种有组织、有纪律的存储方式称之为文件系统的格式:
EXT3/EXT4/FAT/NTFS...
无论是哪一种文件系统格式,都会将文件分为两部分:
1. 文件属性-inode结点,是唯一标识一个文件存在的东西
2. 文件内容
任何一个文件,哪怕没有文件内容,但是一定会有文件属性。
每一个inode结点都会有一个号码,操作系统用inode号码来识别不同的文件。
表面上,用户通过文件名打开文件,实际上,系统内部分为三步:
a. 系统找到这个文件名对应的inode号。
b. 通过inode号码获取inode信息
c. 根据inode信息,找到文件内容。
linux文件系统是以树状结构存在的。
相对路径中有三种比较特殊的路径:
. 当前目录
.. 上一层目录
~ 家目录,家目录的本质/home/china
china@ubuntu:~$
china:用户名
ubuntu:linux操作系统的名字
: $之间的就是当前路径
$:当前用户是一个普通用户
#:当前用户是一个超级用户
pwd:把当前目录的绝对路径显示出来
cd:change directory 改变目录
语法:
cd 要切换到的目录
绝对路径
相对路径
cd 后面什么都不接
会来到当前登录用户的家目录下
ls:list 列举的意思
ls用来列举一个目录下面所有的文件(包括目录)名
语法:
ls [options] 文件或目录
options:
-a all列举出所有的文件名或信息,包括隐藏文件
-l list列举出文件的详细信息
如果省略,则ls列举当前路径。
-rw-r--r-- 1 china china 341 7月 23 11:16 2.c
-rw-r--r--:包含文件的类型和文件的权限
-:文件的类型
- 普通文件
d 目录
c 字符设备文件
b 块设备文件
l link符号(软)链接文件
p pipe管道文件
s socket套接字
rw-r--r--:文件的权限
rw-:文件拥有者所属的权限 可读可写不可执行
r--:文件拥有者所属的组的权限 可读不可写不可执行
r--:其它用户的权限 可读不可写不可执行
r:read 可读
w:write 可写
x:execute 可执行
1:
硬链接数
china:
文件所属的用户
china:
文件所属组用户
341:
文件的大小(字节)
7月 23 11:16:
最后访问的时间
2.c:
文件名
mkdir:创建一个新的目录
语法:
mkdir {-p} 要创建的目录名
p:parent 父亲
如果要创建的目录的上面某一级或者多个目录不存在,则一并创建,只要你有这个权限
rmdir:用来删除一个空目录
rm:remove
删除文件或目录
语法:
rm [options] [dest]
dest要删除的目标文件,既可以是普通文件,也可以是目录
options:
-r recursive 递归
若dest是目录文件,则rm -r递归删除
-f force 强制
非交互式删除,不询问用户是否删除
cp:(copy)
拷贝
cp [options] [source] [dest]
源 目标
source dest既可以是普通文件,也可以是目录文件。
cp dir1 dir2
把目录1整体拷贝到目录2下面去,需要加上-r
cp file1 dir2
把文件1拷贝到目录2下面去
cp dir1 file2
不可以
cp file1 file2
把文件1中的内容,拷贝到文件2中去
把文件1中的内容,替换(覆盖)掉文件2中的内容
mv:(move)移动
语法:
mv source dest
mv file1 dir2
将文件1移动到目录2下面去
mv dir1 dir2
如果dir2不存在,这条命令的作用时将目录dir1改名为dir2
mv dir1 file2
不可以
mv file1 file2
如果两个文件都存在的话,把文件1的内容移动到文件2中去,移动完了之后,文件1消失
如果文件2不存在的话,那么就是将文件1改名成文件2
文件压缩和归档(解压缩):
归档文件:将一组文件或目录保存在一个文件中
压缩文件:将一组文件或目录压缩成一个文件
tar
语法:
tar [options] tarfile filelist
options:
-x extract 释放一个压缩文件
-c create 创建一个压缩文件
-v 显示归档和释放的过程信息
-f file指定归档文件的名称
-j 由tar生成归档文件,bzip2算法压缩
-z 由tar生成归档文件,gzip算法压缩
压缩:
tar -zcvf xxx.tar.gz filelist
把filelist指定的文件列表用(-z gzip)的压缩算法生成一个压缩文件,这个压缩文件的名字就是
xxx.tar.gz
tar -jcvf xxx.tar.bz2 filelist
把filelist指定的文件列表用(-j bzip2)的压缩算法生成一个压缩文件,这个压缩文件的名字就是
xxx.tar.bz2
解压缩:
tar -xvf xxx.tar.gz {-C 指定解压缩到哪一个目录下去}
chmod(change mode)改变文件的权限
文件权限对于某一个用户来讲:
r:可读
w:可写
x:可执行
每一个文件都会针对三组不同的用户:
user:文件所属的用户
group:文件所属的组用户
other:其他用户
1. chmod [u/g/o/a] +/- [r/w/x] 要更改权限的文件名
如:
-rw-r--r-- 1 china china 0 7月 23 16:49 1.c
chmod g+x 1.c
chmod u-w 1.c
chmod go+x 1.c
chmod +x 1.c---> chmod a+x 1.c
2. 文件的权限我们可以用一个八进制的数来表示
rw-r--r--
110100100-->0644
chmod 000 1.c
chmod 777 1.c
file
用来判断一个文件的类型
在linux下面,文件扩展名不等于文件类型
重点:
链接文件
硬链接
ln target link_name
为文件target创建一个硬链接
一般情况下,文件名和inode号码是“一一对应”的关系,每一个inode号码对应一个文件名,
但是unix/linux允许多个文件名指向同一个inode节点,就意味着可以用不用的文件名访问
同样的内容。对文件内容进行修改会影响到所有文件名,但是删除一个文件名,不影响另一
个文件的访问,这就是硬链接。
ls -i 查看inode节点的号码
软链接(符号链接)
ln -s target link_name
软连接指向目标文件,软连接保存的是目标文件的名字
软连接有点类似于window下面的快捷方式。
5. 基本的系统命令
man:manual 手册
linux会为每一个命令或每一个系统函数或标准库函数,写一个手册
man -f 名字
把“名字”相关的手册分类信息列举出来
man 手册分类 名字
把相应的“名字”的文档掉出来
shutdown
关机
sudo shutdown now 马上关机
sudo shutdown 1 1分钟之后关机
reboot
重启
sudo 命令
sudo -> super do
用超级管理员的身份去执行命令
su username
切换到username指定的用户
root用户
root用户在linux/unix下面都是至高无上的用户
当你以管理员的身份进入系统之后,第一次切换到root用户
sudo -s
passwd [username]
为用户username设置一个密码
如果username省略,则为当前用户设置密码
clear 清屏
ctrl + l 快捷方式清屏
6. 用户管理
/etc/passwd
用户保存用户信息的
请看图:passwd
/etc/group
用户组信息
adduser username 增加用户
userdel username 删除用户
groupdel groupname 删除组用户
addgroup groupname 增加用户组
7. 进程管理
ps:proess status
列出系统中进程的信息
如:
ps -ef
e:everyone
f:full
ctrl + alt + t 新建一个终端
kill -9 pid
杀死pid指定的那个进程
top:
按照CPU的占用率来排名
q:退出