常用的一些Linux命令
-
日志操作命令
1.1 查看当前所在的工作目录
pwd
1.2 查看当前系统时间
date
1.3 查看有谁正在登入服务器
who
当前在线
last
最近登入的历史记录 -
文件系统操作
2.1
ls
/ 查看根目录下的字节点(文件夹和文件)信息
ls -all -a是显示隐藏文件 -l是以更详细的列表形式展示2.2 切换目录
cd /home2.3 创建文件夹
mkdir
aaa 在当前目录下建立aaa文件夹
mkdir -p aaa/bbb/ccc -p参数在父目录不存在时也建立父目录2.4 删除文件夹
rmdir
可以删除空目录
rm
-r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除
rm -rf aaa -f强制删除2.5 修改文件夹名称
mv
原文件夹名字 修改的名字
mv 命令也可以用来移动文件或文件夹2.6 创建文件
touch
somefile.txt 创建一个空文件
echo
“I miss you”>
some file.txt 利用重定向 > 将输出存到文件中(自动创建文件),要是文件存在,会覆盖
文件中的原内容。
echo “aaa”>>
somefile.txt 通过 >> 将aaa追加
到原文件中
用文本编辑器 vi 来编辑生成文件,进入vi编辑器时有一些有用的快捷键帮助操作。2.7 拷贝文件
cp
file.txt /home/hadoop/2.8 查看文件内容
cat
file.txt 一次性将文件全都输出到控制台。
more
somefile 查看文件,可以翻叶,下一页(按空格),上一页(按b),退出(q)。
less
somefile 可以翻页查看,上一页(空格),下一页(b),下一行(⬇️),上一行(⬆️),搜索关键词(/搜索词)。
tail
-10 file.log 查看log文件的后十行。
tail
-f
file.log -f跟踪文件的唯一inode,就算文件改名了,还是跟踪改名前的它。
tail
-F
file.log -F按照文件名来跟踪。
head
-10 file.log 查看文件的头十行。 -
文件权限的操作:ll 命令查看详细信息时 ,会列出文件的权限信息
3.1 linux文件权限的描述格式解读(ll 命令展示出来的格式说明)
drwxr-xr-x
(也可以用二进制表示 111 101 101 其中1表示开,0表示关闭 ==》可把每组的三个二进制数转换为一个十进制数)
d:表示节点的类型(前面第一个为节点类型
位置,其中d:文件夹;-:文件;l:链接
)
r:可读 w:可写 x:可执行
第一组rwx:表示这个文件的拥有者对他的权限:可读可写可执行
第二组r-x:表示这个文件的所属组对它的权限:可读,不可写,可执行
第三组r-x:表示这个文件的其他用户对他的权限;可读,不可写,可执行3.2 修改文件权限
chmod
-R -R参数将一个文件夹的所有内容权限统一修改
chmod g -rw haha.txt 表示将haha.txt对所属组的用户的rw权限取消
chmod o -rw haha.txt 表示将文件对其他人的rw权限取消
chmod u +x haha.txt 表示将haha.txt对所属用户的权限增加x -
基本的系统用户管理
4.1 添加用户
useradd
Angela
添加完用户后还要修改密码才能登入
passwd
Angela4.2 为用户配置sudo权限:其他用户通过sudo实现以root的身份来执行该条指令
用root用户登入配置 vi /etc/sudoers
在文件夹的如下位置,为hadoop用户添加一行即可
root ALL=(ALL) ALL —>原有的
hadoop ALL(=ALL) ALL —>新增的一行4.3 查看系统已有的用户和用户组:
查看用户:cut -d : -f 1 /etc/passwd
查看用户组:cut -d : -f 1 /etc/group
删除xiaoluo这个用户:userdel -r xiaoluo -
系统管理操作
5.1 查看主机名
hostname
5.2 修改主机名(重启后修改的无效)
hostname hadoop
修改主机名(重启后生效)
vi /etc/sysconfig/network
5.3 修改ip(重启后无效)
ifconfig
eth0 192.168.12.22
修改ip(重启后生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
5.4 查看系统信息:
uname
-help 查看具体的参数意思
uname -a5.5 挂载外部存储设备到文件系统中:就是把某一外部存储设备放到系统中来
mkdir /mnt/cdrom 创建一个目录,用来挂载(让外部系统放进去)
mount
-t iso9660 -o ro /dev/cdrom /mnt/cdrom 将设备/dev/cdrom挂载到挂载点/mnt/cdrom
umount
/mnt/cdrom 解载(就是删掉挂载点)5.6 查看文件或文件夹的大小(内容):du 命令
du
-sh packages 统计packages目录下的内容大小,有单位
du -sh / 统计根目录下的各个目录和文件的大小5.7 查看磁盘空间及其使用情况:df 命令
df
-h 会显示出磁盘的总共大小,使用了多少,使用的百分比5.8 关机(root用户下执行)
halt
5.9 重启(root用户下执行)
reboot
5.10 ssh登入命令:需要密码验证
%%假如想从 A 登入 B
sudo -i —>切换root权限
%%通过ssh连接linux服务器
ssh root@B服务器ip —>root是账户名
之后输入对应账户名的密码即可登入5.11 服务器之间文件传递:scp命令:需要密码验证
%%下载文件夹(从远程服务器获取文件夹)
scp
-r root@远程主机ip:远程目录 本地目录
scp -r root@110.255.255.52:/root/htmltitle (远程目录) 『空格』/Users/xxx/Desktop (本地目录)
%%下载文件(从远程服务器获取文件)
scp root@远程主机ip:远程文件 本地目录
scp root@110.255.250.52 :/root/htmltitle/htmltitle.html (远程目录) 『空格』 /Users/xxx/Desktop
%%将本地的文件或文件夹上传到远程的服务器
scp -r 本地文件夹 远程用户名@远程主机ip:要上传到远程的那个目录
scp 本地文件 远程用户名@远程主机ip:要上传到远程的那个目录5.12 配置主机之间的免密ssh登录
假如要在 A 上登 B
%%首先生成密钥对
ssh-keygen
(生成公钥和私钥,提示时直接按回车)
%%再将 A 自己的公钥拷贝并追加到 B 的授权列表文件 authorized_keys中
ssh-copy-id B主机名
ssh 命令有两种验证方式:密码验证、密钥验证
%%密码验证呢,在实现大量的文件操作时,不能自动化,需要人工干预
%%密钥验证,在实现大量文件操作时,通过密钥验证,实现免密登入,期间不需要人工干预,方便。
%%实现免密登入的过程:就是首先在A生成密钥(公钥和私钥),然后拷贝一份公钥到B上,并追加到授权列表文 件,然后在A ssh 登入B 时,B就会把拷贝过来的公钥加密给A,A通过私钥解密后一致,B就知道是已经授权过的A在登入了,就会允许其登入。5.13 后台服务管理:
系统安装的一些服务,管理他们,比如服务器开机自启动。
%%查看后台的所有服务
service
--status -all
%%查看指定服务的状态
service serverName status
%%启动
指定的服务
service serverName start
%%停止
指定的服务
service serverName stop
%%重启
指定的服务
service serverName restart
5.14 设置后台服务的自启动配置
%%查看服务的自启动配置
chkconfig
%%设置指定服务的自启动配置
chkconfig iptables off
关闭iptables(防火墙) 的自启动
chkconfig iptables on
开启iptables 的自启动 -
服务器安装软件时的操作
6.1 上传安装包
%%使用图形化工具,比如xshell
%%使用sftp工具
alt + p
调出后,用put
上传
sftp> cd /home (cd指定上传的何处
)
sftp>put
加本地文件的全路径 (可以直接在本地选中文件拖到sftp界面,操作简单方便)
如果不cd到指定目录,默认上传到当前用户的主目录6.2 下载
sftp>lcd
d:/ (lcd指定下载到当前电脑的本地路径)
sftp>get
服务器的文件全路径6.3 压缩文件(打包)
gzip
access.log压缩
的结果为access.log.gz
tar
-zcvf
my.tar.gz aaa/ 将文件夹aaa压缩打包为my.tar.gz6.4 解压文件
gzip -d
access.log.gz解压
后的文件为access.log
tar -zxvf
my.tar.gz 解压缩包
tar -zxvf my.tar.gz|
grep something
| 为管道操作符
,把前面命令的结果作为后面命令的输入,grep
在输入的内容中搜索指定内容
。 -
防火墙端口开放
7.1 查看所有打开的端口
firewall-cmd --zone=public --list-ports7.2 添加开放的端口,如,8092端口
firewall-cmd --zone=public --add-port=8092/tcp --permanent(–permanent永久生效,没有此参数重启后失效)添加后需要重新载入 firewall-cmd --reload
.