/*
+——————————————————————————————-
+ Title : Linux简单指令
+ Version : V1.0.0.2
+ Initial-Time : 2017-12-25 + sgw
+ Last-time : 2018-5-25
+ Desc : 自己整理的简单、常用到的Linux指令
+——————————————————————————————-
*/
基础指令
查看目录下有什么文件
ls //list查看”当前”目录下有什么文件
ls 目录 //查看指定目录下文件信息目录切换
cd 目录名称cd .. //上级目录切换
cd ~ //回到用户的家目录获得当前操作的目录位置
pwd
用户切换
su 用户名su - //切换到root用户
su - root //同上
su root //root用户切换,在有的linux系统效果是:用户是root,权限是普通的
su 普通用户 //没有”横线”
exit //退回到上一个用户
//su和exit要配对使用,如果使用多个su,会造成用户叠加
jinnan–>root–>jinnan–>root–>jinnan查看当前操纵者信息
whoami //我是谁
桌面模式 与 命令模式的切换(root用户操作)
# init 3
# init 5查看文件内容
cat filename //把文件内容输出到终端查看
查看文件占据磁盘空间大小
du -h 文件
目录操作
1) 创建目录 make directorymkdir dirname
mkdir dir/newdir //在dir下创建一个newdir
# 创建多级目录,如果”新目录”个数大于1个数量,就要设置”-p”参数
mkdir -p newdir/newdir/newdir //创建多级递归目录
mkdir -p dir/newdir/newdir //创建多级递归目录
mkdir -p dir/newdir/newdir/newdir2) (文件/目录)移动-改名字 操作 move
mv dir1 dir2 //dir1移动到dir2目录下,并改名字为“原名”
mv dir1 dir2/newdir //dir1移动到dir2目录下,并改名字为“newdir”
mv dir1 newdir //dir1移动到当前目录下,并改名字为“newdir”
mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并改名字为“原名”
mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并改名字为“newdir”3) (文件/目录)复制-改名字 操作 copy
文件复制cp file1 dir1 //file1被复制到dir1下,并改名字为“原名”
cp file1 dir1/newfile //file1被复制到dir1下,并改名字为“newfile”
cp dir1/file1 dir2/dir3 //file1被复制到dir3下,并改名字为“原名”
cp dir1/file1 dir2/dir3/newfile //file1被复制到dir3下,并改名字为“newfile”# 目录复制,统一设置-r参数 recursive递归地 (无视目录层次)
cp -r dir1 dir2 //dir1被复制到dir2下,并改名字为“原名”
cp -r dir1 dir2/newdir //dir1被复制到dir2下,并改名字为“newdir”
cp -r dir1/dir2 dir3/dir4 //dir2被复制到dir4下,并改名字为“原名”
cp -r dir1/dir2 dir3/dir4/newdir //dir2被复制到dir4下,并改名字为“newdir”
cp -r dir1/dir2 newdir //dir2被复制到当前目录下,并改名字为“newdir”4) 删除(文件/目录)
rm file //删除文件
rm -r dir //删除目录
rm -rf filename //recursive force 递归、强制 删除文件
//-f force //避免 “进入目录、删除隐藏文件” 的提示
rm -rf / //kill you by your self文件操作
1) 查看文件cp /etc/passwd ./ //复制passwd文件到当前目录
cat filename //输出文件内容到终端
more filename //敲回车,逐行查看文件的内容
//不支持回看
//q键,退出查看
less filename //通过”上 下 左 右”键的方式,查看文档的各个部分内容
//支持回看,q键退出查看
head -n filename //查看文档的前n行内容
tail -n filename //查看文档的末尾n行内容
wc filename //计算文件行数2) 创建文件
touch filename //创建一个文件
3) 给文件追加内容
echo 内容 >/>> 文件echo dog > animal.txt //把dog内容以”覆盖写”方式追加到animal.txt文件中
//如果animal.txt文件不存在会”自动创建”echo htc >> order.txt //把htc内容以”纯追加”方式设置到order.txt文件中
//order.txt文件不存在,会自动创建用户操作(root)
用户:user
增加:add 修改:mod(ify) 删除:del(ete)
配置文件:/etc/passwd
1) 增加用户 useradduseradd xiaogang //增加一个xiaogang用户,会创建一个同名的组
//没有设置用户的组别,就会创建同名组
useradd -g 组别编号 liming //创建liming用户,并设置其组别(避免创建同名组)
useradd -u 用户编号 -g 组编号 -d 家目录 用户名2) 修改用户 usermod
usermod -u 用户编号 -g 组编号 -d 家目录 -l 新名字 用户名 //如果修改家目录,需要手动创建(不同于增加用户)
3) 删除用户 userdel
userdel 用户名 // /etc/passwd的配置用户信息会删除(保留家目录,可以手动删除)
userdel -r 用户名 // 用户信息 和 其家目录 都删除组别操作(root)
组别:group
配置文件:/etc/group
1) 增加组别 groupaddgroupadd music //创建一个music组别
2) 修改组别 groupmod
groupmod -g 组编号 -n 新名字 组名
3) 删除组别 groupdel
groupdel 组名 //组下存在对应的用户信息,禁止删除
14.history
history //查看已经键入过的指令 用 !n 执行 n 行号的指令
linux 根目录介绍
1 /bin
binary 二进制
# 许多“指令”对应的可“执行程序文件”目录
ls pwd init等等
/sbin
super binary 超级的 二进制
# 许多“指令”对应的可“执行程序文件”目录
# 该目录文件对应指令都是”root”用户可以执行的指令
例如:init/usr
unix system resource (unix系统资源文件目录)
# 该目录类似win系统的 C:/Program files 目录
# 该目录经常用于安装各种软件
# 软件安装完毕会形成对应的指令,该指令对应的可执行程序文件就存放在以下目录
/usr/bin
# 许多“指令”对应的可“执行程序文件”目录
/usr/sbin
# root用户执行的指令 对应的 可“执行程序文件”目录/dev
device 系统硬件设备目录(linux系统所有的硬件都通过文件表示)
# 例如:/dev/cdrom是光驱
/dev/sda 是第一块scsi硬盘/home
普通用户的”家目录”
给系统每增加一个“普通用户”的同时,都会在该目录为该用户设置一个文件目录
代表该用户的“家目录”,用户后期使用系统的时候会首先“进入”其家目录
家目录名字默认与当前用户名字一致
用户对家目录拥有绝对最高的权限。/root
该目录是root管理员的家目录,root用户登录系统后首先进入该目录
/proc
内存映射目录,该目录可以查看系统的相关硬件信息
/var
variable 可变的、易变的
# 该目录存储的文件经常会发生变动(增加、修改、删除)
# 经常用于部署项目程序(php)文件
/var/www/shop
/var/www/book/boot
系统启动核心目录,用于存储系统启动文件
/etc
系统主要配置文件目录
例如:
/etc/passwd 用于存储用户信息的文件
/etc/group 用于存储组别信息的文件/lib
library
系统资源文件类库目录/selinux
secure enhanced linux 安全增强型linux
对系统形成保护
会对给系统安装软件时有干扰作用
vim编辑器
切换到编辑模式(四种方式)
a: 光标后移一位
i: 光标和所在内容没有任何变化
o: 另起一个新行
s: 删除光标所在的一个字符
esc : 编辑”退回”到命令模式尾行模式操作
:w 保存文档
:q 退出vi编辑器
:wq 保存并退出// 对文档没有操作权限,可以强制执行
:w! 强制保存
:q! 强制退出(不保存修改,直接强制退出)
:wq! 强制保存并退出
:set number 或 :set nu 给编辑器设置行号
:set nonumber 或 :set nonu 取消行号设置
:数字 光标跳转到数字所在行
:/内容/ 或 /内容 在文档中寻找指定内容,给翻屏查找
小写n 下一个
大写N 上一个// 字符串替换操作,cont2去替换cont1内容
:s/cont1/cont2/ 替换光标当前行的”第一个”cont1为cont2
:s/cont1/cont2/g 替换光标当前行的”全部”cont1为cont2
:%s/cont1/cont2/g 替换“整个文档”的cont1为cont2// 命名模式下的撤销操作
u 小写u
命名模式操作
1) 光标移动
a.字符级移动
上(k) 下(j) 左(h) 右(l)键
b.单词级
w word下个单词首字母
b before上个(本)单词首字母
e end下个(本)单词尾字母
c. 行级
0 行首
$ 行尾
d. 段落级(内容之间有空白行)
{ 上个(本)段落首部
} 下个(本)段落尾部
e. 屏幕级(不翻屏)
H 屏幕首部
L 屏幕尾部
f. 文档级
G 文档尾行
1G 文档首行
nG 文档第n行2) 删除内容
dd 删除光标当前行
ndd 从光标当前行向后删除n行内容
x 删除光标所在的字符
cw 从光标所在位置删除至单词结尾,并进入“编辑”模式
(该方式方便删除“单个单词”)3) 复制内容
yy 复制光标当前行
nyy 从光标当前行向后复制n行内容
p 对复制(删除)好的内容进行粘贴操作4) 快捷操作
u undo撤销
r 替换单个字符
J 合并上下两行
.点 重复执行上个指令4) 换行、换页
ctrl f 向下翻页(front:前)
ctrl b 向前翻页(back:回)
ctrl d 向下翻半页(down)
ctrl u 向上翻半页(up)
ctrl e 向下翻一行
ctrl y 向上翻一行
.点 重复执行上个指令
Linux指令
2、bc 开启算术 可以了逻辑运算符 5%2 显示 1
3、scale 显示逻辑运算结果保留小数点后几位 scale=3 开启并显示3位小数 1/3 显示 .333
4、tab 接在一串命令的第一个字的后面,则为”命令补全” 接在一串命令的第二个字的后面,则为”文件补全”
5、ctrl + c : 如果输入错误的命令或参数,导致这个命令或程序会在系统下不停的运行
6、ctrl + d : 表示键盘输入结束,可取代exit的输入
7、ctrl+u ctrl+k 分别代表光标处往前和光标处往后删除
8、ctrl+a ctrl+e 分别代表把管标移动到最前和最后
查找指令
- find
find <指定目录> <指定条件> <指定动作>
find filename //全局查找文件
find / -name filename //查找某个文件 locate
locate /etc/sh //搜索etc目录下所有以sh开头的文件。
whereis
whereis grep //用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)
which
which grep //看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
type
type cd //type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的,系统会提示,cd是shell的自带命令(build-in)
定时任务
通过 crontab 来实现
crontab -l 查看存在的定时任务指令列表
crontab -e 执行定时任务编写【所有用户】
vim/vi /etc/crontab 执行定时任务编写【只有root用户】