用户登录系统后,可以看到每条命令前都有提示符:
[root@localhost ~]#
/
根目录
/bin/
存放着经常使用的指令/boot/
存放启动系统核心文件的目录/dev/
存放各种设备文件的目录/etc/
存放配置文件的目录/home/
用户的主目录/lib/
系统的静态库/media/
光驱、软驱、USB存储设备加载所用的目录/mnt/
加载的文件系统目录/opt/
某些可选软件安装后放入此目录/proc/
不是真正的文件系统,操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里/root/
root
用户的主目录/sbin/
存放系统管理命令,一般只供 root
用户使用/tmp/
存放系统运行过程中的临时文件,一般在系统重启后将被清空home
目录home
目录是用户登录后的初始目录,用 ~
表示。
root
的home
目录:/root
home
目录:/home/用户名
就是当前所在目录。
以 .
开头的文件和目录默认是隐藏的,如 .git
。
/
根目录~
当前用户的home
目录-
进入此目录之前所在的目录..
上一级目录.
当前目录当路径以这些字符开头时,系统会从这些字符开头所代表的的路径开始查找,否则从工作目录开始查找。
pwd
cd 路径
使用 ls
指令
-l
-a
例如
lrwxrwxrwx. 1 root root 12 9月 2 11:05 hadoop -> hadoop-2.9.2
对其进行分列:
列名 | 值 |
---|---|
文件类型 | l |
所有者权限 | rwx |
组用户权限 | rwx |
其他用户权限 | rwx |
链接数(子目录数) | 1 |
用户名 | root |
组名 | root |
文件大小(字节) | 12 |
上次修改 | 9月 2 11:05 |
文件名和链接信息 | hadoop -> hadoop-2.9.2 |
符号 | 含义 |
---|---|
- |
普通文件 |
d |
目录文件 |
p |
管理文件 |
l |
链接文件 |
b |
块设备文件 |
c |
字符设备文件 |
s |
套接字文件 |
符号 | 含义 |
---|---|
r |
可读 |
w |
可写 |
x |
可执行 |
- |
无权限 |
例如:
lrwxrwxrwx. 1 root root 12 9月 2 11:05 hadoop -> hadoop-2.9.2
drwxr-xr-x. 10 501 dialout 161 9月 2 11:31 hadoop-2.9.2
lrwxrwxrwx. 1 root root 12 9月 2 10:32 jdk -> jdk1.8.0_201
drwxr-xr-x. 7 10 143 245 12月 16 2018 jdk1.8.0_201
touch file1 file2 ...
vi file
mkdir dirname
-p
或 --parents
:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录rmdir dirname
-p
或 --parents
:若所要建立目录的上层目录为空,则会一并删除上层目录rm -rf path
rm [命令选项] filename
常用命令选项:
cp [命令选项] 源文件 目的文件
常用选项:
mv [命令选项] 源文件 目的文件
常用选项:
cat
命令查看文件内容格式:
cat [-nb] 文件名...
选项:
-n
或 --number
:由1
开始对所有输出的行数编号;-b
或 --number-nonblank
:和-n
相似,只不过对于空白行不编号。head [-n number] file
命令查看文件开头部分选项:
-n
:查看前 number
行的内容,默认为 10
tail [-n number] file
命令查看文件的末尾部分,用法同 head
。链接是某个文件或目录的别名,分为 软链接 和 硬链接 两种。
软链接:产生一个特殊的文件,该档案的内容是指向另一个文件或目录的位置
软链接通常用于给一些软件包起个别名,方便访问。如创建一个软链接 /hadoop -> /hadoop-2.9.2 ,这样就可以直接 访问 hadoop文件夹 来实现访问 hadoop-2.9.2文件夹 的目的。
硬链接:一个档案可以有多个名称
ln -s 文件夹路径 链接名
ln 文件名 链接名
vi fileName
,此时默认是命令模式。此时不可以编辑文本。i
、a
或o
进入输入模式。此时可以编辑文本。Esc
键回到命令模式。:
键进入底线命令模式。q
表示退出;输入 w
表示保存文件;输入 q!
表示不保存退出;输入 wq
表示保存并退出。命令模式:用户刚刚启动 vi/vim
,便进入了命令模式。此状态下敲击键盘动作会被 Vim
识别为命令,而非输入字符。
常用命令:
i
:进入输入模式x
:删除光标处所在字符:
:切换底线命令模式,在最底一层输入命令。输入模式:
常用按键:
Shift
组合:输入字符enter
:换行回车backspace
:退格del
:删除光标后一个字符方向键
:移动光标HOME/END
:移动到行首/行尾Page Up/Page Down
:上/下翻页Insert
:切换输入/替换模式,光标将变成竖线/下划线。ESC
:返回命令模式底线命令模式
常用按键:
q
:退出q!
:不保存退出wq
:保存退出w
:保存tar -cvf 生成的tar名称 路径...
-c
建立新的归档文件-v
处理过程中输出相关信息-f
对普通文件操作tar -xvf tar包名 [-C 目录]
-x
从备份文件中还原文件-v
处理过程中输出相关信息-f
对普通文件操作gzip
命令 对 tar
文件进行压缩,在当前路径下生成压缩文件:gzip tar包名
tar
命令压缩tar -zcvf 生成的tar.gz名称 路径...
-c
建立新的归档文件-v
处理过程中输出相关信息-f
对普通文件操作-z
以gz对文件/目录进行压缩解压gunzip
命令解压gunzip tar.gz名称
tar
命令解压tar -zxvf 生成的tar.gz名称
-x
从备份文件中还原文件-v
处理过程中输出相关信息-f
对普通文件操作-z
以gz对文件/目录进行压缩解压zip -r 生成的zip名称 路径...
unzip zip名称
bzip2
对 tar
文件进行压缩,在当前路径下生成压缩文件:bzip2 tar名称
tar
命令压缩文件tar -jcvf 生成的tar.bz2名称 路径...
-c
建立新的归档文件-v
处理过程中输出相关信息-f
对普通文件操作-j
以bzip2对文件/目录进行压缩解压bunzip2
命令解压bunzip2 tar.bz2名称
tar
命令解压tar -jxvf 生成的tar.bz2名称
-x
从备份文件中还原文件-v
处理过程中输出相关信息-f
对普通文件操作-j
以bzip2对文件/目录进行压缩useradd -m 用户
-m
:表示创建该用户的工作目录userdel -fr 用户
-f
:表示强制删除用户-r
:表示删除与用户相关的文件passwd
命令设置密码:必须以root权限才能执行passwd 用户
执行后系统会提示输入两次密码
passwd
命令清理密码:必须以root权限才能执行passwd -d 用户
-d
表示删除密码chpasswd
批量修改密码要批量更新用户密码,需要用户名和密码写入到一个文件中:
用户1:密码1
用户2:密码2
...
然后输入:
chpasswd < 保存的文件名
login
指令:login [用户名]
,该命令会提示输入用户名(如果命令没有填写用户名)和密码-p
:告诉login指令不销毁环境变量;-h
:指定远程服务器的主机名使用 su
命令切换用户身份:su [用户名]
不指定用户名时,切换为 root
用户。
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号的密码。
当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。
如果当前用户身份是root,则使用su命令切换到其他用户的时候不需要相应用户的密码
-c<指令>
或--command=<指令>
:执行完指定的指令后,即恢复原来的身份;-l
或--login
:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;-m
,-p
或--preserve-environment
:变更身份时,不要变更环境变量;-s<shell>
或--shell=<shell>
:指定要执行的shell。使用 whoami
指令。
环境变量是操作系统中用来指定操作系统运行环境的一些参数。它可以被 shell
脚本和程序获取。
比如说,
JAVA_HOME
这个环境变量可以方便其他程序找到JAVA
的安装目录。
局部变量:只对某次登录或某次程序执行起作用
全局变量:对整个系统起作用
用户变量:针对某个用户的环境变量
系统变量:针对所有用户的环境变量
永久变量:通过修改配置文件,配置之后变量永久生效。其中用户变量的配置文件为 ~/.bashrc
,系统变量的配置文件为 /etc/profile
。操作系统加载时会执行这些文件来设置环境变量。
临时变量:使用命令如 export
等命令设置,设置之后马上生效,重启命令行后失效。
PATH
是存放系统用来搜索可执行文件路径的一个环境变量。:
隔开。PATH
,所有可执行文件都需要加上路径,如运行 java
需要写成 ~/jdk/bin/java
而不是 java
。如
$PATH:/usr/locar/new/bin
env
或 printenv
命令set
printenv 环境变量名称
[root@node1 ~]# printenv PATH
/root/app/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/app/hadoop/bin:/root/bin
echo $环境变量名称
$环境变量名称
cd $JAVA_HOME
变量名=值
a=1
a='hello world'
export 变量名=值
export a=$a
~/.bashrc
,系统变量的配置文件为 /etc/profile
),在文件中添加 export
指令export JAVA_HOME=/root/app/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
source 文件名
。source /etc/profile
/etc/profile
和~/.bashrc
是没有执行权限的,默认无法直接执行,只能通过source
命令来执行。
动态IP采用 DHCP
(动态主机配置协议),每次启动时,主机会被分配一个动态的IP地址。也就是说,同一台机器,每次启动后,得到的IP不一定相同。
Hadoop 和 SSH 等服务需要获取主机的IP地址,如果每次启动的IP不一致,则每次都要手动修改服务器的ip,不方便。
静态IP需要手动配置,但每次启动后,得到的IP是相同的。
Linux
系统安装后默认使用动态IP。
Linux
系统下,若需要配置静态IP,需要在系统安装时配置静态IP,或修改 /etc/sysconfig/network-scripts/
下的网卡配置文件 ifcfg-ens33
或 ifcfg-eth0
。
用 ifconfig
命令获取IP地址、子网掩码。
在 VMWare
的虚拟网络编辑器里获取网关IP、子网掩码、子网IP。
用vi
打开网卡配置文件。
需要修改的配置:
static
IP
地址,IP
保存文件,输入 service network restart
或 systemctl restart netwrok
重启网络。
hosts
文件主要作用是定义IP地址和主机名的映射关系。当访问一个域名时,系统会优先从 hosts
中找到域名对应的IP地址,如果未找到,则通过 DNS
服务器来寻找IP地址。/etc/hosts
IP1 域名1 域名2 ...
IP2 域名3 域名4 ...
...
IP
设置一些好记的名称,如 node1
。linux
防火墙有 iptables
和 firewalld
两种。systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止。
firewall-cmd --state
关闭防火墙会给主机带来严重的安全隐患!
service firewalld start # 开启
service firewalld stop # 关闭
service firewalld restart # 重启
firewall-cmd --query-port=端口/tcp # 查询端口是否开启
firewall-cmd --permanent --add-port=端口/tcp # 永久开启端口
firewall-cmd --permanent --remove-port=端口/tcp # 永久移除开启的端口
firewall-cmd --reload
SSH
为 Secure Shell
的缩写,通常用于远程登录(如 XShell
登录虚拟机上的 linux
),默认端口为 22
。SSH
的认证方式:
需要先安装
ssh-copy-id
和ssh-keygen
两个软件包
ssh-keygen -t rsa -N ''
-t
: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa。
-f
: 密钥目录位置, 默认为当前用户home路径下的.ssh隐藏目录, 也就是~/.ssh/, 同时默认密钥文件名以id_rsa开头。
-C
: 指定此密钥的备注信息, 需要配置多个免密登录时, 建议携带。
-N
: 指定此密钥对的密码, 如果指定此参数, 则命令执行过程中就不会出现交互确认密码的信息了。
ssh-copy-id 远程地址
此时远程地址所在服务器就可以操作当前的服务器。
scp
(secure copy) 命令用于 Linux 之间复制文件和目录。scp [可选参数] file_source file_target
-p
:保留原文件的修改时间,访问时间和访问权限。-q
: 不显示传输进度条。-r
: 递归复制整个目录。-v
:详细方式显示输出。file_source
和file_target
用于指定源和目标路径。
远程地址的写法:
用户名@远程服务器IP:远程服务器的绝对路径
远程服务器IP:远程服务器的绝对路径
scp -r hadoop/etc/hadoop root@node2:~/hadoop/etc/hadoop
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。