学习笔记:https://pan.baidu.com/s/1e3iUyfUH8pAdp1hebDwndA 密码:2now
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT Linux防火墙取消屏蔽8080端口
/etc/rc.d/init.d/iptables save 保存到防火墙
linux的/etc/sysconfig目录下有一个i18n的文件可以配置linux的系统编码
将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig --add mysql
自动启动:chkconfig mysql on
| 管道:一般和more和grep配合使用。 cat aa.txt | more。 cat aa.txt | grep 123。
ctrl + shift + = //放大终端窗口
ctrl + - //缩小终端窗口
command --help
man command //man是manual的缩写。查看命令的使用手册。 (空格:下一屏;Enter:下一行;b:上一屏;f:下一屏;q:退出)
1、tar:只打包,不压缩(*.tar)
tar -cvf 打包文件.tar 被打包的文件1 文件2 文件3 或路径... # 打包指定路径下的文件
tar -xvf 打包文件.tar # 解包文件到当前目录
# c:打包,x:解包,v:显示进度,f:指定文件名称(后面跟文件,所以放最后)
2、gzip:打包,并压缩(*.tar.gz)
tar -zcvf 打包文件.tar.gz 被压缩的文件1 文件2 文件3 或路径... # 压缩文件
tar -zxvf 打包文件.tar.gz # 解压缩文件到当前目录
tar -zxvf 打包文件.tar.gz -C 目标路径 # -C 解压缩到指定路径,目标路径必须存在
3、bzip2:打包,并压缩(*.tar.bz2)
tar -jcvf 打包文件.tar.bz2 被压缩的文件1 文件2 文件3 或路径... # 压缩文件
tar -jxvf 打包文件.tar.bz2 # 解压缩文件到当前目录
tar -jxvf 打包文件.tar.bz2 -C 目标路径 # -C 解压缩到指定路径,目标路径必须存在
在线安装软件。包管理工具。
Ubuntu中使用apt命令(Advanced Packaging Tool)在线管理软件
sudo apt install 软件包 # 在线安装软件
sudo apt remove 软件名 # 卸载软件
sudo apt upgrade # 更新已安装的包
1. 查看目录下有什么文件信息
> ls //list查看当前目录下有什么文件
> ls -l 或ll //list -list 通过详细内容形式查看目录下的文件内容
> ls 目录 //查看指定目录下文件名字信息
> ls -l 目录 //以详细列表形式查看指定目录下文件名字信息
> ls -l -h 或ls -lh //文件的大小以人性化的方式显示
> ls -a //list all 查看全部文件,包括隐藏文件
> ls -al //list list all 以详细列表形式查看全部文件,包括隐藏文件
> ls -i //查看目录下文件名字的索引号码
> ls *.txt //查看所有.txt结尾的文件或目录 (通配符:* ? [abc] [a-f])
> tree //以树状形式显示当前目录下的所有目录和文件
> tree 目录 //以树状形式显示指定目录下的所有目录和文件
> tree -d //只显示目录,不显示文件
2. 目录切换
> cd 目录名字
> cd .. //向上级目录切换
> cd ~ 或cd //快速切换回自己的家目录
> cd - //返回上一次的目录
3. 查看当前操作位置
> pwd
4. 查看操作者信息(是谁在操作系统)
> whoami
5. 不同用户间的切换
> su - //切换为root用户
> su - root //效果同上
> su 普通用户名称 //向普通用户切换
exit //当前用户退回到之前用户
su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用
jinnan--->root--->jinnan--->root--->jinnan
6. 图形模式与命令模式进行切换
># init 3 //图形 向 命令模式切换
># init 5 //命令 向 图形模式切换
7. 查看指令对应的可以执行程序文件位置
> which 指令
8. 目录操作
1)创建目录 make directory
> mkdir newdir //创建目录。Linux中目录与文件不允许重名
> mkdir -p newdir/newdir/newdir //递归方式创建多级目录
newdir新目录多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数
> mkdir dir/newdir
> mkdir dir/dir/newdir
> mkdir -p dir/newdir/newdir
2) 移动(改名字)目录 move
(目录/文件 都可以操作)
> mv dir1 dir2 //dir1移动到dir2目录下,并给改名字为"原名"
> mv dir1 dir2/newdir //dir1移动到dir2目录下,并给改名字为newdir
> mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并给改名字为"原名"
> mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并给改名字为 newdir
> mv dir1/dir2 ./ //dir2移动到 当前 目录下,并给改名字为"原名"
> mv dir1/dir2 ./newdir //dir2移动到 当前 目录下,并给改名字为newdir
> mv -i dir1/dir2 ./dir1 //-i 表示开启覆盖已存在文件的提示
3) 复制(改名字)目录 copy
(目录/文件 都可以操作)
//① 复制普通文件
> cp file1 dir1 //file1被复制到dir1目录下一份,并给改名字为“原名”
> cp file1 dir1/newfile //file1被复制到dir1目录下一份,并给改名字为newfile
//② 复制目录 -r参数要求
//recursive递归方式拷贝目录
> cp -r dir1 dir2 //dir1被复制到dir2目录下一份,并给改名字为“原名”
> cp -r dir1 dir2/newdir //dir1被复制到dir2目录下一份,并给改名字为newdir
> cp -r dir1/dir2/dir3 dir4/dir5 //dir3被复制到dir5目录下一份,并给改名字为"原名"
> cp -i dir1 dir2 //-i 表示开启覆盖已存在文件的提示
4) 删除 remove
> rm filename //普通文件删除
> rm -r dir //删除目录[无视层次]需要-r参数
> rm -rf 文件 //recursive force 递归强制删除文件
//force 避免删除隐藏文件的提示
> rm -rf / //递归强制方式删除系统里边的全部内容
9. 文件操作
1) 查看文件内容
> cat filename //在终端显示文件全部内容
> cat -n filename //-n显示行号,空白行也有行号。
> cat -b filename //-b显示行号,空白行没有行号。
> more filename //通过"敲回车"方式从第一行逐行查看文件内容
// 空格或f:下一屏; Enter:下一行; b:上一屏; q:退出
> less filename //"上下左右"键方式查看文件各个部分内容
//支持回看,q键 退出
> head -n filename //查看文件“前n行”内容
> tail -n filename //查看文件“末尾n行”内容
> tail -f filename //
> wc filename //计算文件行数
2) 创建文件
> touch filename //文件不存在就创建,存在就修改更新时间
> touch dir/filename
3) 文件写内容(文件不存在会“自动”创建)
> echo 内容 > filename //给文件“覆盖写”方式添加内容。文件不存在就创建
> echo 内容 >> filename //给文件纯追加内容
4) grep过滤、查找
> grep 123 abc.txt //显示abc.txt中包含123的所有行。(查找的内容可以配合正则表达式)
> grep "hello 123" abc.txt //如果查找的内容包含空格,可以用双引号引起来。
> grep -n 123 abc.txt //-n 表示显示行号
> grep -v 123 abc.txt //-v 表示取反,查找不包含123的所有行。
> grep -vn 123 abc.txt //-vn 查找不包含123的所有行,并显示行号。
> grep -i 123 abc.txt //-i 忽略大小写
10. 用户操作
user,配置文件/etc/passwd
1) 创建 add
># useradd -m username //创建用户会同时创建同名组。-m表示同时创建用户的家目录
># useradd -m -g 组编号 username //创建用户的同时设置组别
># useradd -g 组编号 -u 用户编号 -d 家目录 username
//创建用户同时,指定组别、用户编号、家目录
2) 修改 modify
># usermod -g gid(或组名) username //-g 修改用户所属主组(一般创建用户时指定主组,一般不修改主组,只修改附加组来为用户授权)
># usermod -G gid(或组名) username //-G 修改用户附加组(组类似角色,就是权限集合。用于授权)
># usermod -g gid(或组名) -u uid -d 家目录 -l newname username
//修改组别、用户编号、家目录、名字
注意:家目录修改后需要手动创建,不同于创建用户家目录设置
创建用户时设置家目录,该目录会自动创建
修改用户家目录时,该目录不会自动创建(需要手动创建)
># usermod -s /bin/bash 用户名 //修改用户登录后使用的Shell(bash、dash)
3) 删除 delete
># userdel username //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除
># userdel -r username //删除用户的同时也删除其“家目录”
4)为用户指定密码
># passwd username //为用户指定密码后,用户才能正常登录。
5) 查看用户信息
> cat /etc/passwd | grep 用户名 //查看用户信息(查看用户是否创建成功。查看密码、用户ID、所属主组ID、用户全名、家目录、登录后使用的shell终端)
> cat /etc/group | grep 组名 //查看组信息(查看组ID,附加组下的所有用户)
> id //查看当前用户信息(用户ID,主组ID,附加组ID)
> id 用户 //查看指定用户信息(用户ID,主组ID,附加组ID)
6) 切换登录用户
> su 用户名 //切换用户登录。如果用户名省略,表示切换到root用户
> su - 用户名 //- 表示同时切换到用户的家目录
> exit //退出到上一个登录用户,并切换到用户家目录。没有上一个登录用户,就会直接退出shell。
11. 组别操作
group, 配置文件/etc/group
1) 创建 add
># groupadd groupname
2) 修改 modify
># groupmod -g gid -n newname groupname
3) 删除 delete
># groupdel 组名
//注意:只有空组(内部没有用户信息)才允许删除
> cat /etc/group //查看组别信息(组id、附加组下的所有用户)
> chgrp -R 组名 文件/目录名 //递归修改文件/目录的所属组
12. vi编辑器使用
$ vi 文件名 #打开文件。文件不存在就会创建
$ vi 文件名 +行数 #打开文件并定位到指定行。
$ vi 文件名 + #打开文件并定位到末尾。
1) 命令模式-->编辑模式切换
i (insert)"光标"不移动。(非常常用)
I (insert)"光标"到行首。(较常用)
A (append)"光标"到行尾。(较常用)
a (append)"光标"向后移动一位。
o 在下方插入空白行,"光标"移动到插入的空白行。(较常用)
O 在上方插入空白行,"光标"移动到插入的空白行。(较常用)
s "删除"光标所在字符
数字n与以上编辑命令的连用。退出到命令模式时,编辑的内容会重复n次:
例如: 10 i --> 进入编辑模式下,编辑内容,esc退出到命令模式;那么会自动重复编辑模式下刚刚编辑的内容9次(一共显示10次)。
因此:在正常情况下,进入到编辑模式之前,不要按数字。
2) 尾行模式作用
:q quit退出编辑器
:wq write quit 保存并退出
:x 等价于wq,保存并退出
:w write 保存
:q! 强制退出(不要保存)
:w! 强制写保存
:wq! 强制保存退出
:set number 或 set nu //给编辑器设置行号
:set nonumber 或 set nonu //取消行号设置
:数字 光标跳转到数字所在行
/内容 //内容查找,小写n(next)下一个,大写N(next)上一个
:/内容/ //内容查找,小写n(next)下一个,大写N(next)上一个
//如果不想看到高亮显示,可以随便查找一个文件中不存在的内容即可
内容替换 "cont1"被替换为"cont2"
:s/cont1/cont2/ //把光标所在行的"第一个"cont1替换为cont2
:s/cont1/cont2/g //把光标"所在行"的全部cont1替换为cont2。可视模式下,表示替换选中区域中的所有cont1
:%s/cont1/cont2/g //把"整个文档"中的全部cont1替换为cont2
:%s/旧文本/新文本/gc //后面的gc表示替换时会有提示(confirm)。y:替换(yes);n:不替换(no);a:替换所有(all);q:退出(quit);l:替换最后一个(last);^E:向下滚屏;^Y:向上滚屏
编辑其他文件
:e 文件名 //(edit)不退出vim编辑器,直接编辑其他文件(前提是先保存(:w)当前编辑的文件)(可以用tab键自动补全文件名或目录名)。
:e 目录 //浏览指定目录下的文件,移动光标到要编辑的文件名上 回车。如果忘记要编辑的文件名,可以通过这种方式查找要编辑的文件。
:n 文件名 //(new)新建文件并切换到新建的文件(保存(:w)新文件后才会出现新建的文件)。
:w 文件名 //(write)另存为,但是vim仍然编辑当前文件,并不会切换到另存的文件。(可用于 开发过程中,阶段性的备份代码)
分屏命令
:sp [文件名] //(split)横向增加分屏(上下分屏)。省略文件名,表示增加当前文件的分屏。
:vsp [文件名] //(vertical split)纵向增加分屏(左右分屏)。(可以用tab键自动补全文件名或目录名)
:sp 目录 //浏览指定目录下的文件,移动光标到要分屏的文件名上 回车。如果忘记要分屏的文件名,可以通过这种方式查找要分屏的文件。
切换分屏窗口(Ctrl + W)(Window, 先按Ctrl+w再按下面的命令)
w //(window)切换光标到下一个窗口
r //(reverse)互换窗口位置
c //(close)关闭当前窗口,但是不能关闭最后一个窗口
q //(quit)退出当前窗口,如果是最后一个窗口,则关闭 vi
o //(other)关闭其他窗口
+ //增加窗口高度
- //减少窗口高度
> //增加窗口宽度
< //减少窗口宽度
= //等分窗口大小
可以与数字连用。例如: 5 CTRL + W > 连续5次增加窗口宽度
3) 命令模式操作
① 光标移动
a. 字符级
上(k) 下(j) 左(h) 右(l) 键
b. 单词级
w word下个单词首字母
e end下(本)个单词尾字母
b back上(本)个单词首字母
c. 行级
$ 行尾
0 行首
^ 行首,第一个非空字符的位置
d. 段落级(两部分内容中间有空行,彼此成为段落)
{ 上(本)个段落首部
} 下(本)个段落尾部
e. 屏幕级(不给翻屏)
H 屏幕首部(Head)
M 屏幕中间(Middle)
L 屏幕尾部(Low)
f. 屏幕级(翻屏)
Ctrl + b 向上翻页(back)
Ctrl + f 向下翻页(forward)
g. 文档级
G 文档尾行(go)
1G 文档第一行
nG 文档第n行
gg 文档第一行
ngg 文档第n行
:数字 通过尾行模式,跳转到文档指定行
h. 成对的括号
% 在成对的括号间来回切换
i. 标记,用于光标定位
mx (mark)添加标记 x,x 是 a~z 或者 A~Z 之间的任意一个字母。同名标记会被覆盖,标记所在行被删除,标记也会被删除
'x 定位到标记 x 所在位置
② 选中文本(配合光标移动命令)
v 可视模式(visual)。选中光标之间的文本。(按v时的光标和移动后的光标之间)
V 可视行模式。选中光标之间的所有完整行
Ctrl + v 可视块模式。选中光标之间的矩形块
esc 返回命令模式
例如:ggVG 可以全选
d 删除选中内容(delete)(删除与剪切效果相同,粘贴时会粘贴复制或删除的内容。vi的文本缓冲区)
x 删除选中内容(cut)
y 复制选中内容(copy)
> 可视模式或可视行模式下,选中区域的行(可以是多行)向右增加缩进,同时退出可视模式。
< 可视模式或可视行模式下,选中区域的行(可以是多行)向左减少缩进,同时退出可视模式。
演练:注释多行。
1、命令模式下,光标移动到要注释的第一行代码。按0移动光标到行首。
2、Ctrl + v 进入可视块模式。
3、按 j 向下移动光标选中多行(要注释的行)。
4、按 I 进入编辑模式。(可视模式下小写 i 无法进入编辑模式)
5、在行首输入注释符号"#"。
6、按 Esc 退出到命令模式。退出到命令模式时,会自动在之前选中的所有行前添加"#"。
③ 内容删除
x 删除光标所在字符(cut)
n x 执行n次删除。删除光标后n个字符。
dd 删除光标所在行
n dd 包括当前行在内向下删除n行内容(n表示后面命令的执行次数)
D 删除至行尾
x 字符级删除,删除光标所在字符
cw 光标所在字符删除至单词结尾(是删除单词的便捷方式),同时会进入编辑模式
d + 移动命令 删除按下d时光标到移动后光标之间的内容。
例如:
* dw # 从光标位置删除到单词末尾
* d0 # 从光标位置删除到一行的起始位置
* d} # 从光标位置删除到段落结尾
* ndd # 从光标位置向下连续删除 n 行
* d行数G # 从光标所在行 删除到 指定代码行 之间的所有代码
* d'a # 从光标所在行 删除到 标记a 之间的所有代码
④ 内容复制
yy 复制光标所在行(copy)
n yy 包括当前行在内向下复制n行内容(n表示后面命令的执行次数)
p 对复制(删除)好的内容进行粘贴操作(paste) (粘贴vi的文本缓冲区中的内容,与系统剪贴板不同,所以其他程序中复制的内容不能通过vi命令粘贴,可以通过鼠标右键粘贴系统剪贴板中的内容)
n p 对复制(删除)好的内容粘贴n次(n表示后面命令的执行次数)
y + 移动命令 复制按下d时光标到移动后光标之间的内容。(参考d删除命令)
⑤ 替换(replace)
r 替换光标所在字符(替换一个字符)
R 进入替换模式,替换光标所在字符并一直向后替换(连续替换多个字符)。 esc退出替换模式。
⑥ 缩进
>> 光标所在行,向右增加缩进(4个空格)。
<< 光标所在行,向左减少缩进。
> 可视模式或可视行模式下,选中区域的行(可以是多行)向右增加缩进,同时退出可视模式。
< 可视模式或可视行模式下,选中区域的行(可以是多行)向左减少缩进,同时退出可视模式。
. 重复执行"最近"的一条指令。配合缩进命令,实现多次缩进
⑦ 查找光标所在单词
* 向后查找当前光标所在单词。小写n(next)下一个,大写N(next)上一个
# 向前查找当前光标所在单词。小写n(next)上一个,大写N(next)下一个
⑧ 便捷操作
u undo撤销,从文件打开后的所有操作都可以撤销
ctrl + r 取消撤销(redo)
r 对单个字符进行替换
. 重复执行"最近"的一条指令
J 合并上下两行
vim配置文件位置
/etc/vim/vimrc
~/.vimrc (家目录下的配置文件的优先级高)
13. 文件/目录权限设置
1) "字母相对方式"设置权限
权限: r读 w写 x执行
用户: u主人 g同组 o其他组
chmod u+/-rwx, g+/-rwx, o+/-rwx 文件
不同用户通过",逗号"分隔
在同一个用户里边,+/-只能用“一个”
"rwx"在同一个用户里边可以设置一个或多个
"ugo" 每次权限操作可以设置一个或多个用户
>chmod u+rw filename //主人增加读、写权限
>chmod g-rx filename //同组删除读、执行权限
>chmod u-w,g+x filename //主人删除写,同组增加执行
>chmod o+w,o-x filename //其他组用户“增加写、删除执行”
2) "数字绝对方式" 设置权限
读:4 写:2 执行:1
权限类型:
0: 没有权限
1: 执行
2: 写
3: 写、执行
4: 读
5: 读、执行
6: 读、写
7: 读、写、执行
chmod ABC filename //ABC分别代表主人、同组、其他组用户权限
> chmod 764 filename //主人读、写、执行, 同组读、写, 其他读
> chmod 777 filename //满贯权限 (常用:777/755/644)
> chmod 000 filename //所有用户没有任何权限
> chmod -R 755 dir //recursive 通过“递归”方式设置目录的权限
字母和数字方式取舍:
权限修改的比较"少",就使用字母方式
权限修改的比较"多",就使用数字方式
如果目录没有可执行的权限,那么就不能对目录进行任何终端命令的操作。(目录的读,就是查看目录中的内容。目录的写,就是更改目录中的内容。)
3) chown 修改文件/目录的拥有者
> chown 用户名 文件/或目录 //修改文件/目录的拥有者
4) chgrp 修改文件/目录的所属组别
> chgrp -R 组名 文件/或目录 //递归修改文件/目录的组
14. 在文件中查找指定内容
grep 内容 (绝对/相对路径)目标文件
> grep sbin /etc/passwd //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出
15. 系统常用指令
查看文件占据磁盘空间大小
du -h 文件/目录
> du -h 文件名称 //以k M的形式查看文件占据磁盘空间大小
> grep 关键字 路径名 //将文本中指定的信息匹配(查找)出来
> which 指令 //查找指令对应的二进制文件的位置
> who //查看当前所有登录的用户列表
> whoami //查看当前登录用户的账户名
> ps –A //查看系统活跃进程 (process status)
> ps //查看当前用户开启的终端进程
> ps a //查看当前用户以及其他用户的终端进程
> ps au //查看当前用户以及其他用户的终端进程,并显示用户等详细信息
> ps aux //显示所有进程(包括非终端进程)
> top //根据CPU和内存占用情况,动态显示运行中的进程。q:退出。
> du –h [目录] //显示目录或文件占据磁盘空间的大小。-h表示以K,M,G为单位人性化显示 (block块默认=4k) (disk usage)(不加目录,表示当前目录)
># date –s "2013-09-13 19:42:30" //给系统设置时间
> date //查看系统时间
> cal //查看本月日历
> cal -y //查看本年所有月份的日历
># df –lh //查看系统分区情况(disk free),磁盘使用情况
># kill -9 pid //杀死指定进程号的进程。-9表示强制杀死
> setup //伪图形界面
> shutdown 选项 时间 //选项默认表示关机。时间默认是一分钟后
> shutdown //一分钟后关机
> shutdown now //立即关机
> shutdown 20:25 //20:25关机
> shutdown +10 //10分钟后关机
> shutdown -c //取消之前指定的关机计划
> shutdown -r //-r表示重启。一分钟后重启
> shutdown -r now //立即重启
> ifconfig //查看网卡配置信息
> ping ip地址/域名 //检测ip连接
16. 文件/目录查找
find 要查找的目录 选项 选项值 选项 选项值....
具体选项:
① name 根据文件/目录名查找指定的文件/目录
find [目录] -name 完整文件名称
> find / -name passwd[完整名称] //"递归遍历"系统全部目录查找名字等于passwd的文件
> find /etc -name passwd[完整名称] //递归遍历/etc及内部所有目录查找 名字等于passwd的文件
> find [目录] -name "an*"[部分名称] //模糊查找文件名字以an开始的。不加目录,表示当前目录
> find ./ -name "bei*" //模糊查找,查找name以"bei"开头的所有文件,注意一定要加引号。
② 对查找的目录层次进行限制
-maxdepth 限制查找的最"深"层次
-mindepth 限制查找的最"浅"层次
> find / -mindepth 3 -maxdepth 4 -name passwd //在3到4个层次的目录里边查找name为passwd文件
③ 根据文件大小进行查找
size 单位
> find ./ -size 50c //在当前目录下查找大小[等于]50个字节的文件
单位:
数量 单位 实际大小
100 -------> 512字节:【100*512字节】
50c -------> 字节 : 【50字节】
50k -------> 千字节: 【50*1024字节】
50M -------> 兆字节 【50*1024*1024字节】
> find ./ -size +50c //在当前目录下查找大小[大于]50个字节的文件
> find ./ -size -50c //在当前目录下查找大小[小于]50个字节的文件
④根据其他条件进行查找
> find ./ -perm 345 //查找文件权限是345的文件
> find ./ -user username //根据所属用户查找文件
> find ./ -group groupname //根据所属用户组查找文件
17. 设置软链接和硬链接
> ln -s 源文件 软链接 // ln -s /home/hou/abc.txt /home/hou/abclink.txt
> ln -s 绝对路径源文件 软链接文件 //源文件推荐使用绝对路径(源文件使用绝对路径 创建的软连接,软连接位置移动后不受影响)。
> ln [-d] 源文件 硬链接 //源文件使用绝对路径和相对路径,效果相同。
// >ln -d abc.txt abcHardlink.txt // -d表示硬链接 可以省略
ABC目录硬链接数目是三个的来源:(目录不能通过 ln 命令创建硬链接)
① 本身ABC名字 (绝对路径)
② ABC/. 点 是一个
③ ABC/changchun/.. 点点 是一个 (如果ABC/目录下有多个子目录,那么就会有多个..的硬链接)
软硬链接不同点:
软链接指向的是源文件的文件名,通过源文件的文件名访问源数据。 (Linux中文件数据与文件名是分开存储的)
硬链接指向的是源文件的数据,可以防止误删除。 (硬链接不常用)
源文件删除后(只是删除文件名),对应的软链接会失效,而硬链接不会失效。(文件的硬链接数为0时,文件才会真正被删除。ls -l命令可以查看文件的硬链接数)
相同点:
大家都是针对同一个目标进行操作
18.任务调度指令(定时任务)
># crontab –e //编辑任务调度指令
># crontab –l //查看任务调度指令
具体使用(#表示注释)
分钟 小时 日期 月份 星期 指示命令
43 21 * * * XXX/abc.sh #每天的21:43 执行
0 17 * * 1 XXX/abc.sh #每周一的 17:00 执行
42 4 1 * * XXX/abc.sh #毎月1日的 4:42分 执行
0 21 * * 1-6 XXX/abc.sh #周一到周六 21:00 执行
2 8-20/3 * * * XXX/abc.sh #8:02,11:02,14:02,17:02,20:02 执行 */2 (每2小时)
30 5 1,15 * * XXX/abc.sh #1日 和 15日的 5:30 执行
19.文件主人、组别修改(修改文件所属的用户、用户组)
change owner
> chown 主人 filename
> chown 主人.组别 filename
> chown .组别 filename
> chown -R 主人.组别 dir //recursive 通过”递归”方式设置目录的属组信息
> chmod -R 755 dir //通过“递归”方式设置目录的权限
20. 开关机指令
># reboot //重启
># poweroff //关机
21. ssh远程登录(Linux和Mac默认装有ssh服务。Windows中需要安装ssh软件才能使用(Putty/XShell))
> ssh [-p 端口号] 用户@ip/域名/别名 //ssh协议远程登录。端口号默认22可省略
> exit //退出登录
///ssh免密码登录
> ssh-keygen //生成客户端钥匙(公钥和私钥)
> ssh-copy-id -p 22 用户@ip/域名/别名 //复制客户端公钥到远程服务器
///配置远程服务器别名
编辑 ~/.ssh/config 文件,配置如下:
Host 别名
HostName ip地址
User 用户名
Port 端口号
> ssh 别名 //保存以上配置文件后,直接通过别名远程登录。
22. scp远程复制文件。(Linux和Mac可以直接使用该命令。Windows需要安装PyTTY使用pscp命令,或安装FileZilla使用FTP服务(FTP服务默认端口:21))
> scp [-P 22] aa.txt 用户@ip/域名/别名:Desktop/aa.txt //远程复制文件。-P必须是大写的。冒号:后的地址是相对于用户家目录的,也可以使用绝对路径。
> scp [-P 22] 用户@ip/域名/别名:Desktop/aa.txt aa.txt //远程服务器中的文件,复制到本地。
> scp [-P 22] -r 目录 用户@ip/域名/别名:Desktop/newdir //-r复制目录。默认端口22
//免密码登录与配置远程服务器别名,与ssh命令一致。