1.cd:cd[-L|-P][dir]:进入一个目录
($HOME:变量,记录家地址,可以使用echo打印出来)
如果后头不加目录,进入家目录
cd ~:将工作目录切换至家目录
cd~USERNAME:将工作目录切换至指定用户“USERNAME”的家中,仅限于root用户使用
cd-:将工作目录切换至上一次的工作目录(等同于cd$OLDPWD)
shell中有两个变量(使用echo $PWD/OLDPWD查看)
$PWD:保存的是当前工作目录
$OLDPWD:保存的是上一次的工作目录
2.pwd:pwd[-LP](将$PWD中的内容打印出来)
-L 打印 $PWD 变量的值(默认情况下,`pwd‘ 的行为和带 `-L‘ 选项一致)
-P 打印当前的物理路径,不带有任何的符号链接(类似于快捷方式)
3.ls(别名为ls –color,alias:查看别名)(ls–color=never没有颜色)
在linux文件系统中所有以“.”开头的文件为隐藏文件
-a:显示所有的文件,包括隐藏文件
-A:显示除了“.”和“..”之外的所有文件
-d:不显示目录的内容,只显示该目录名(相当于把目录当作文件)
-l:--long:以长格式显示文件的详细属性
比方说ls -l: -rwxrwxrwx. 1 root root 90 3月 11 13:27 a
-:文件的类型标识
rwxrwxrwx:文件的权限设置
前三位:文件的属主所具备的权限
中三位:文件的属组所具备的权限
后三位:其他用户对该文件所具备的权限
.:表示该文件是否具有特殊属性
1:表示该文件被硬连接的次数
root:表示文件的属性
root:表示文件的属组
90:表示文件的大小
3月 11 13:27:表示文件最后一次被修改的时间
a:文件名称(文件名不是文件的属性,无法描述文件)
brw-rw----.1 root disk 8, 0 3月 11 2017 sda(设备与普通文件不同)
8:主设备号(major),用于标识设备类型,进而确定要加载何种驱动程序
0:次设备号(minor),用于标识同一种设备类型中的不同设备
-h:用人看的懂得(自动进制转换)易于读取的文件大小的格式,通常使用1024进制进行单位进制转换
-F(--classify):分类---在不同的类型文件后头加上不同的符号
-r:倒叙输出结果
-R:递归显示
-S:按照文件大小进行排序
-1(数字1):每行只显示一个文件
-Z:显示文件的SElinux的安全上下文(security context)
4.mkdir:创造目录(至少有一个参数)
-p:在创建目录的时候如果父目录不存在,先创建父目录
-v:显示创建过程
例子:
(1)在/mnt下创建boot和sysroot;
mkdir /mnt/{boot,sysroot}(当同时创建多个目录的时候,用大括号括起来,用“,”分隔开)
(2)在/mnt/boot下创建grub;
mkdir /mnt/boot/grub
(3)创建多级目录且上级目录不存在时使用“-p”选项(“-v”选项显示出创建的过程)
mkdir a/b/c -pv
mkdir: 已创建目录 "a"
mkdir: 已创建目录 "a/b"
mkdir: 已创建目录 "a/b/c"
5.rmdir:只能删除空目录(功能有限)
-p:(可以删/a/b/c---依次删c、b、a)如果删除里头后父目录为空才可以继续删
-v:显示创建过程
6.rm(同--rm -i):移除文件或目录(可删根目录(/),5版本以前没有根保护,现在有了保护措施)
-i:在删除之前询问
-f:强制删除,没有提示
-v:显示创建过程
-r:递归删除
例子:一次性删除a/b/c
rma/b/c -fr (r是递归删除,但是在每一步都会询问,使用f选项屏蔽询问)
7.touch:创建文件(原本的功能不是创建文件,只是有这么一个功能)、修改文件的时间
有的时候一个文件长久不会访问,超过60天系统有可能视为垃圾文件被回收,所以需要这个命令修改文件的时间戳(date:显示时间)
要修改的文件不存在的时候就会创建文件
-a:修改存取时间
-c:不创建文件
-m:修改文件的修改时间
最好不要修改成未来的时间
8.stat:查看文件的状态
-c:FORMAT:以特定格式显示文件的特定属性
9.nano(文本编辑器)(全屏编辑器)
^:脱字符:表示CTRL键
在linux中用$符号表示换行
常用选项:
+行,列 从所指列数与行数开始
-K 修正数字键区按键混淆问题
-L 不要将换行加到文件末端
-O 编辑时多使用一行
-S 按行滚动而不是半屏
-I 自动缩进新行
-k 从游标剪切至行尾
-m 启用鼠标功能
-t 离开时自动储存,不要提示
-v 查看(只读)模式
-w 不要自动换行
10.cat:连接文件并显示在标准输出
cat文件1 文件2 :同时显示两个文件
-E:显示末尾的$符号
-n:所有行编号
-b:空行不变号,只编号有内容的
-s:合并空白行
没有参数的时候,你写什么输出什么(CTRL+D退出)
cat等查看文档的东西尽量不要查命令等其他东西,否则乱码
11.tac:同cat,反过来输出
12.head:读取文档开头部分(一块是512个字符)
-n5:显示前5行(也可以简写为 -5)
-c10:显示前十个字符
-c1k[b|k|m|g]:前1024个字符
1b=512byte
1k=1024byte
1m=1024k=1024*1024byte
如果不加任何选项,则默认显示前十行,如果不足十行就显示全部
13.tail:默认显示最后十行
-f:动态跟随文件增加(日志文件)(echo abc>>文件:写入文件中)使用ctrl+c退出
-n5:显示末尾5行
-c:同上
14、15.more(只能下翻页(键盘操作下))、less(可上可下):分页显示
摁"/+一个字符串"实现搜索功能
n:下一页
shift:回去
q:退出
16.hwclock,clock(两个命令实际上是同一个命令):显示硬件时间
hwclock:
-s:--hctosys(hc to system):把系统时钟换成硬件时钟
-w:--systohc(system to hc):把硬件时钟换成系统时钟
--set --date “TIME”:将硬件时钟
2017年03月15日 星期三 20时04分09秒 -0.811443 秒
17.date:显示系统时间、设置时间
date“052011112017.25”:设置系统时间(date帮助查看时间格式)
date-s “2017/10/18 10:10:10”(必须要引号,因为有空格)
date-s “2017-11-11 10:10:10”(/或者-都行)
date+%F(其他查看帮助):完整格式的日期——年-月-日
T:完整格式的时间——时:分:秒
Y:年
m:月
d:日
H:时
M:分
S:秒
s:时间戳,从1970.1.1到现在的系统时间所经过的秒数
18.cal [选项] [[[日] 月] 年]:显示日历
常见选项:
-1, --one 只显示当前月份(默认)
-3, --three 显示上个月、当月和下个月
-s, --Sunday 周日作为一周第一天
-m, --Monday 周一用为一周第一天
-y, --year 输出整年
19.关机:
halt:直接拔电源(不保存当前操作)(poweroff)
shutdown(相对来说更安全):
shutdown选项 ... 时间 【消息】
时间包括:
绝对时间:12:08
相对时间:+#,在#分钟后关机
特例: +0(now) 立马关机
选项:
-h:关闭系统
-r:重新引导
-k:只给登陆用户发送信息,但不关机
-c:(cancle)取消即将执行的关机作业
(wall:给所有用户发送消息)
20.注销/退出登陆
注销:关闭shell,但是运行的进程仍在运行(如同windows的休眠)
exit:结束当前shell(比方说:进入普通用户之后再进入root用户,当返回普通用户时使用exit,不能再用su切换,因为su不终止用户进程,当su用户过多时会影响系统运行效率)
logout:退出登陆的用户(只能是直接登陆的账户,如果切换了用户就会报错bash: logout: 不是登录shell: 使用 `exit‘ )
ctrl+d:作用和exit一样
21.cp:用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
-d:如果复制的是符号链接文件,则将该符号链接文件直接复制到目标位置
-p:在复制文件时能够保留文件的权限、所有权以及时间戳信息
-r(recursive递归复制):能够递归的复制文件夹
-a:相当于-dpr选项的组合
注意:
1.使用cp命令,至少需要两个参数
2.通常情况下,最后一个参数是此次复制的目标
3.如果进行单源复制,目标可以不存在,目标可以为非目录文件
4.如果进行多源复制,目标必须存在,并且必须是目录
22.mv:移动文件(剪切)/还有重命名的功能
mv …… ……:移动
mv 旧名字 新名字:重命名
-f:强制执行(强制覆盖目标位置中重名的文件)
在这些命令执行完毕之后会有一个退出状态码(读取状态码--echo $?):
0:命令执行成功
1:命令执行过程中有小问题
2:命令执行过程中出现了大问题,比如目标文件/目录不存在
网卡命名方式:
centos6.x
eth#:按照启动识别网卡顺序命名(eth0、eth1)内核先发现谁,给谁先编号
centos7.(0|1|2)
eno16777736=2^16:(常见的)对网卡起一个固定的名字
centos7.3
ens33:由于之前的方式太长,不利于大规模实现
linux更改ip地址:ifconfig 网卡名字 新的ip地址/16(重启失效)
查看shell是否连接
iptables -L-n
ss -tnl :看*22如果有,那么就能远程连接了