1 基本命令
1.1 命令入门
1.1.1 命令提示符详解
用户名@主机名 当前目录 #系统权限 $普通权限
1.1.2 命令格式
命令 选项 参数 (三者之间要有空格,区分大小写)
command [-options] [args]
[args]:参数(多个参数之间用空格分隔)
案例演示
1.2 获取命令的帮助
- 查手册
- man 命令
- 命令 --help
- 搜索引擎
1.2.1 查手册&搜索引擎
手册见《参考手册&资料》
搜索:必应 www.bing.com、谷歌/百度等
1.2.2 man
1.2.2.1 man 安装
当前虚拟机中不能直接使用 man,默认是没有安装的,不识别 man 命令。
所以需要安装,安装 man 和 man-pages 手册,查看命令的帮助信息
yum install man man-pages -y
man ls
q 退出命令查看
看到的全是英文,是不是很酸爽,慢慢多看看就好了。如果你英语烂到完全看不懂,那我再教你一招,
汉化 man
提示信息。
要想汉化 man 提示信息,系统中需要安装 man-pages-zh-CN
软件包。默认情况下, 系统自带的 yum 源不包含 man-pages-zh-CN。
默认的源存放目录:
所以下载后的第三方 yum 源 epel 也保存到该目录下,使用 yum 命令时会去该目录下 解析后缀名为 repo 的文件。
wget 不能使用,需要先安装,安装 wget,否则无法通过该命令进行下载。
[root@node1 ~]# yum install wget -y
然后将 epel 的源放到本地,然后清除 yum 本地缓存,重新生成缓存。
是不是可以使用了呢,相信你已经迫不及待的想要测试一把了。
[root@node1 ~]# man ls
发现还是英文,怎么回事? 这是因为虽然你安装了 man 的中文包,但是系统的语言还是英文环境,
[root@node1 ~]# echo $LANG
结果:en_US.UTF-8
所以需要修改系统的语言环境。
[root@node1 ~]# LANG=zh_CN.UTF-8
[root@node1 ~]# echo $LANG
结果:zh_CN.UTF-8
然后再次测试便有中文信息了。
但是这样修改这有效到断开连接,或者下次重启系统。如何才能长期有效呢?
[root@node1 ~]# vim /etc/sysconfig/i18n
1.2.2.2 man 的使用
enter 向下一行
空格按页向下翻
b 向上翻页
p 直接翻到首页
查找按 /要查找的内容
查找 下一个/上一个:按 n/N;
退出按 q
扩展内容:
man
- 1 用户命令(/bin,/usr/bin,/usr/local/bin)
- 2 系统调用
- 3 库函数
- 4 特殊文件(设备文件)
- 5 文件格式(配置文件的语法)
- 6 游戏
- 7 杂项(Miscellaneous)
- 8 管理命令(/sbin,/usr/sbin,/usr/local/sbin)
- 指定查看某种帮助:
[root@node1 ~]# man 2 read
[root@node1 ~]# man read
1.2.3 命令 --help
[root@node1 ~]# mv --help
1.3 echo
[root@node1 ~]# help echo
echo -n 表示不要另起新行
[root@node1 ~]# echo "hello world"
hello world
[root@node1 ~]# echo -n "hello world"
hello world
-e 表示解释逃逸字符
[root@node1 ~]# echo -e "hello \nworld"
hello world
[root@node1 ~]# echo "hello \nworld"
hello \nworld
1.4 环境变量:PATH
当在 shell 中执行命令的时候,默认到 PATH 指定的路径中查找可执行文件。
如果在 PATH 中的多个目录都包含该可执行文件,则执行最先找到的。
[root@node1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
如果找不到,这提示命令不识别。
1.5 ls
ls 命令用于列出目录内容
ls
添加-l 以长格式输出,列出根目录下内容的详细列表
ls -l
也可以后面跟多个目录,列出多个目录的内容
ls / /usr
也可以通过命令的别名列出详细列表
ll
ls -a
ls -a -l
ls -al
1.6 pwd
打印当前工作目录路径
pwd
1.7 cd
cd 用于更改 shell 工作目录,也就是切换目录 change directory cd
cd /etc
如果 cd 后什么都不写,表示直接回当前用户家目录
cd
cd /etc
cd 后跟波浪线,也表示回用户家目录
cd ~
cd 后也可以跟减号(-)用以表示回到最后一次切换之前的目录,多次使用减号在最近两个目录之间切换
cd /etc/sysconfig/network-scritps
cd -
root 用户可以直接通过绝对路径进到普通用户的家目录
cd /home/god
cd ..
ll
也可以直接跟波浪线用户名表示直接进入到某个用户的家目录
cd ~zhz到用户 zhz家中去,root 不受限制
1.8 mkdir
mkdir 用于创建目录
mkdir abc
mkdir a1 a2 a3
如果直接创建多层目录,则报错,因为默认只能创建最后一级目录
mkdir a/b/c
可以添加-p 选项,用以创建多层目录,因为系统发现某一级目录不存在的时候创建父目录
mkdir -p a/b/c
也可以在 mkdir 后跟多个目录,用于一次性创建多个目录
mkdir ./abc/1dir ./abc/2dir ./abc/3dir
但是可以使用大括号高效创建相似的目录
mkdir ./abc/{
x,y,z}dir
mkdir ./abc/{
x..z}dir
1.9 rm
rm 用于删除文件
直接删除,需要确认 yes
rm file
添加-f 选项可以不用确认强制删除
rm -f file
如果 rm 的参数是目录,则会提示需要迭代删除而不能成功
rm adir
此时可以添加-r 参数表示迭代删除
rm -r dira
也可以使用-rf 选项,迭代强制删除某个文件或目录,此命令慎用。
rm -rf dira
尤其是
!!!! rm -rf /
1.10 cp
• cp 拷贝
- cp 文件… 目标目录 拷贝文件…到目标目录,可以同时拷贝多个文件,文件名之间用空格隔开
- cp -r 目录 目标目录
1.11 mv
mv 用于移动或重命名文件
- 移动文件/目录 #mv 源文件/[源文件 1 源文件 2] 目标
- Linux 中没有专门改名的命令,兼职改名工作:
1.12 ln
用于创建硬链接或软链接
ln
可以使用 ll -i 选项让 ll 打印文件的 inode 信息
[root@node1 ~]# cp /etc/profile ./
[root@node1 ~]# ll –i
创建硬链接
[root@node1 ~]# ln profile ln1
创建软链接:让 ln2 指向 profile, 给 profile 创建软连接,相当于 windows 中的快捷方式
[root@node1 ~]# ln -s profile ln2
再次打印 inode 信息查看
[root@node1 ~]# ll -i
如果两个文件 inode 一样,表示两个文件(ln1 和 profile)实际上是同一个文件, 硬连接。如果 inode 不一样,但是有 ln2->profile,表示 ln2 是 profile 的软链接。
注意:ln1、ln2 都不能提前创建,或是已经存在的文件,否则报错。
ln: creating symbolic link `ln1': File exists
软连接删除不会删除源文件
硬链接删除后如果源文件没有硬链接,则文件被删除
如何在不使用 mv 的情况下移动文件?可以操作硬连接
1.13 ps
可以通过命令查看系统内进程信息
ps -ef
查看磁盘使用情况
• 进程查看命令
- ps(process status) : 将某个时间点的程序运作情况截取下来
- 选项和参数
- a :和输入终端(terminal)关联的所有 process,通常与 x 一起使用, 列出完整信息。
- x :后台进程,通常与 a 这个参数一起使用,可列出较完整信息
- u :有效使用者 (effective user) 相关的 process
• 常用组合
- ps aux 观察系统所有的程序数据 (常用)
[root@node1 /]# ps aux
[root@node1 /]# ps au
• 以下为各选项的含义
- USER:该 process 属于那个使用者
- PID :该 process 的程序标识符。
- %CPU:该 process 使用掉的 CPU 资源百分比;
- %MEM:该 process 所占用的物理内存百分比;
- VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
- RSS :该 process 占用的物理的内存量 (Kbytes)
- TTY :该 process 是在那个终端机上面运作,若与终端机无关则显示 ?, 另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络 连接进主机的程序。
- STAT:该进程目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/D/T/Z)
- START:该 process 被触发启动的时间;
- TIME :该 process 实际使用 CPU 运作的时间。
- COMMAND:该程序的实际命令为何?
进入到/usr 目录;usr 不是用户的意思,而是 unix software resources 的简写
cd /usr
查看内容
ll
1.14 test 命令
计算 3 > 2 的结果,打印返回值,计算 3 < 2 的结果,打印返回值。
echo $? 打印上一行命令的执行结果
成立返回 0(true),不成立返回 1(false)
[]和内容之间一定要有空格,否则抛错。
我是小白弟弟,一个在互联网行业的小白,立志成为一名架构师
https://blog.csdn.net/zhouhengzhe?t=1
转载:https://blog.csdn.net/zhouhengzhe/article/details/115841074