linux的基本命令
前言
这是我学习时的讲师的讲课笔记,为防止丢失,在博客上记录下来。
一、APT(Advanced Packing Tool)
ubuntu中功能最强大的命令行软件包管理工具,用于获取、安装、编译、卸载和查询软件包,以及检查软件依赖关系。
1.工作原理
/etc/apt/sources.list 用来指定ubuntu的软件源服务器地址的。
2.修改源
查找你ubuntu对应版本的软件源服务器地址列表 然后再把/etc/apt/sources.list的内容替换掉
cd /etc/apt
sudo gedit sources.list
3.几个常用的命令
sudo apt-get update
下载更新软件包列表的信息 我怎么知道,服务器上面有哪些软件, 可以通过apt-get update 把服务器上面的最新的软件 列表信息 下载到本地
sudo apt-get install 要安装的软件包的名字
sudo apt-get remove 要卸载的软件包名字
sudo apt-cache search 根据正则表达式检索软件包
如: 在ubuntu上安装一个拼音输入
sudo apt-cache search pinyin
sudo apt-get install 安装包名字
二、vi/vim
vim是vi是vi的一个升级版本 vi/vim是linux中最基本、最常用、功能最强大的命令行编辑器
一. vi/vim 模式
1.vi有两种工作模式
命令模式 键盘所有的输入字符都当作是一个命令 输入模式 键盘所有的输入字符都当作是文本内容
命令模式->输入模式 :
i/I:insert i: 进入输入模式后,光标不动 I:进入输入模式后,光标移动到行首
a/A:append a:进入输入模式后,光标往后移动一个字符 A:进入输入模式后,光标移到一行的末尾
o/O:open 进入输入模式后,会新开一行 o:光标的下一行 O:光标的上一行
输入模式-> 命令模式 : ESC
二. vi/vim 命令
1.vim:退出命令
:q
quit不保存退出
:q!
不保存退出,强制退出
:w
write保存文件(但不退出)
:w filename
把内容保存到"filename"指定的文件中去
"另存为"
wq:
x:
write and quit 保存并退出
2.vim删除与修改命令
x
删除光标所在字符
dd
delete
删除光标所在的行
ndd
删除光标开始的以下n行(包括光标在内的n行)
dd和ndd是剪切
r
replace
替换光标所在的单个字符
r + 要替换的单个字符
R
Replace
替换光标及后面的多个字符,到底是多少个字符
看你自己(直到你按ESC退出替换)
3.vim拷贝与粘贴命令
yy
yield
将当前行的内容拷贝到剪贴板中去
p
是将剪贴板中的内容粘贴到当前行的后面一行
P 是将剪贴板中的内容粘贴到当前行的前面一行
4.vim 撤销命令
u
undo撤销
5.vim 搜索命令
/要搜索的内容
n
next
找下一个匹配到的内容
N
Next
反向搜索下一个匹配内容
6.vim 替换命令
s substitude 替换 {}代表可选
:{作用范围}s/{目标}/{替换}/{替换标志}
作用范围
当前行 作用范围不写就是当前行
全文 %
选区 5,16 5-16行
.,+2 包括当前行在内的接下来的两行
替换标志
g 指定的作用范围内每行修改一个
i 忽略大小写
7.vim 显示行号
:set nu
三.vi/vim的配置文件
为 .vimrc ~/.vimrc ->在家目录下的.vimrc ls -a 就可以看到
三.文件系统相关命令
文件系统是什么?
用来管理文件的一套组织方法以及软件系统
文件 :
文件属性 -》i-node ,i-node是唯一标识一个文件存在的东西: 有文件名,文件类型,文件大小…
文件内容
linux文件系统树状结构 linux下面文件组织方式是以"根目录 /"开始的"根目录 /"下面可以有目录,也可以有文件,目录下面也可以有目录,也可以有文件… ,以这种树的形式组织起来,树状结构。
绝对路径 /相对路径
绝对路径 以“根目录 /”开始的路径,称之为绝对路径 相对路径 不以“根目录 /”开始的路径, 以当前路径开始的路径,称之为相对路径
/home/china/1.c
/home/china/2.c
假设当前目录在/home
要表示
./china/1.c => /home/china/1.c
./china/2.c => /home/china/2.c
. => 目录,当前目录。
..=》上一级目录
假设我在/home/china
./1.c
绝对路径 = 当前路径+相对路径
命令
pwd: 把当前目录的绝对路径显示出来
cd: change directory 改变目录 语法: cd 要切换到的目录 要切换到的目录 要带路径 绝对路径 相对路径 cd 后面什么也不接 切换到用户的主目录下面去 ls: list 列举的意思 ls用来列举一个目录下面所有的文件(包括目录)名 语法: ls [options] 文件或目录 options: -a all列举出所有的文件名或信息,包括隐藏文件 -l list列举出文件的详细信息
文件或目录
如果省略,则ls列举当前目录
/home/china
/home/用户名
这个用户的主目录,HOME目录,
在这个目录下面你有绝对的权限,一般来说。
cd /home/china
再创建一个自己名字目录
mkdir make directory 创建一个目录
语法:
mkdir {-p} 要创建的目录名
p:
parent 双亲
如果要创建的目录的上面某一级或多个目录不存在,则
一并创建,只要你有这个权限
/home/china/hg/c/src/xx
“要创建的目录名”
绝对路径
相对路径
mkdir /home/china/hg/c/src/xx
如果要创建的目录上面的某一级目录不存在,
这个命令就会失败,有时侯 想要一步到位 -p
例子
mkdir -p /home/china/hg/c/src/xx
rmdir remove directory 用来删除一个空目录的
rm 删除文件或目录
语法:
rm [options] [DEST]
DEST 要删除的目标文件,既可以是普通文件,也可以是目录
options:
-r recursive 递归
若DEST是目录文件, rm -r递归删除
-f force 强制
非交互模式删除,不询问用户是否确定删除
如:
rm -rf 目录名字或者文件名
cp copy拷贝 cp [options] [SOURCE][DEST] SOURCE 源 DEST 目标 SOURCE DEST既可以是普通文件,也可以是目录
cp dir1 dir2
把目录dir1整体拷贝到目录dir2下面去
cp file1 dir2
把文件file1 拷贝到目录dir2下面去
cp dir1 file1
不可以
cp file1 file2
把文件file1中的内容,拷贝到file2中去
用file1的内容,替换掉file2的内容
options
-r
-R 递归,当拷贝的是目录时,需要用到
-f 非交互模式拷贝
mv move 移动 语法 mv SOURCE DEST mv file1 dir1 mv dir1 dir2 如果dir2不存在,这条命令的作用是 把目录dir1改名为dir2 mv dir1 file1 不可以 mv file1 file2 把文件file1的内容移动到file2 如果file2不存在就是改名
文件压缩和归档 归档文件:将一组文件或目录保存在一个文件中 压缩文件:将一组文件或目录压缩成一个文件 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)gzip
的压缩算法生成一个压缩文件,名为 xxx.tar.gz(xxx.tgz)
tar -jcvf xxx.tar.bz2 filelist
把filelist指定的文件列表用(-j bzip2)bzip2
的压缩算法生成一个压缩文件,名为 xxx.tar.bz2
解压:
tar -xvf xxx.tar.gz(xxx.tar.gz) {-C 指定解压到哪个文件下去}
chmod change mode 改变文件的权限 文件权限对某个或某组用户来说: r:read w:write x:execute 可执行
每个文件都会针对三组不同的用户 user:文件属与主用户 group:文件用户组内的用户 other:其他用户
在描述一个文件的权限时: rwx rwx rwx user group other ls -l rw- r-- — 0640 这个文件,user可读可写不可执行 group可读不可写不可执行 other什么权限也没有
rwx 看作是一组八进制 rw- => 110 => 6 r-- => 100 => 4 rwx => 111 => 7 => 0647 chmod语法: chmod 用户+/-rwx 文件名
如: chmod u+x 3.txt 给文件的用户(user)加上一个可执行的权限 chmod g-w 3.txt 给文件的组用户(group)减去可写的权限 chmod o+r 3.txt 给文件的其他用户(other)加上可读的权限 chmod go+w 3.txt
chmod +x 3.txt 给3.txt所有用户加上一个可执行权限
chmod 权限的八进制描述 文件名 如: chmod 0660 3.txt 110 110 000
umask 文件掩码 为1表示权限不能更改 0 0 0 2 000 000 010 练习: 给一个普通文件所有用户去掉写的权限,再恢复 chmod -w 3.txt chmod +w 3.txt
touch touch命令用于创建一个新普通文件
file 用来判定一个文件的类型。 在linux下面,文件扩展名 不等于 文件类型
链接 文件 文件属性 -》inode,唯一标识一个文件存在 文件内容
硬链接 ln target link_name 为文件target创建一个硬件链接(inode) 硬链接实际是为文件target创建一个新的 inode
软链接(符号链接) software ln -s target link_name 为文件target创建一个软链接(类似于windows下面的"快捷方式") 软链接实际上并没有为target创建一个新的inode 软链接指向目标文件,软链接文件保存目标文件的路径名
四.基本的系统命令
man manual 手册 linux会为每个命令或每个系统函数或标准函数,写一个文档(手册页) 不同的文档,有不同的分类 1 2 3 … 而且有时候,有同名的函数或者命令 shutdown man 用来查询一个指定 名字 相关的手册(说明文档) 语法: man -f 名字 把"名字"相关的手册中分类的信息列出来 man 手册分类 名字 把相应的"名字"的文档调出来 如果 用"-a"代替“手册分类” 系统会 先从 分类1中去找 “名字”的文档 再从 分类2中去找 “名字”的文档 … shutdown 关机的命令
sudo 命令 sudo -> super do 用超级管理员用户去执行命令
su username 切换到username指定的用户 root用户 root用户在linux/unix下面是之高无上的用户。
ubuntu装机的时候,一般只会让你设置一个管理员的用户 如:china 当你以管理员的身份进入系统后: 第一次切换到root 用户 sudo -s
passwd username 为用户username设置一个密码, 如果username省略,则为当前用户设置密码 clear 清屏
五.用户管理
/etc/passwd 用来保存用户的信息的 用户名/口令/用户ID(UID)/组用户ID/用户主目录(HOME)/用户shell
/etc/group 用户组信息 组名/口令/组ID(GIaD)/成员
姓名 - 学号 用户名 - 用户id china - 1000 组名 - 组 id china - 1000
adduser username 添加用户 passwd username 更改用户密码 userdel username 删除一个用户 groupadd groupname 添加一个组用户
六. 进程管理
ps (process status) 列出系统中进程的信息 。
如: ps -ef
kill 杀掉一个进程 语法: kill -9 pid 杀死pid指定的那个进程
top 动态显示或列出占用系统资源最多的进程
|