linux
安装VMare
linux文件夹结构 一切都是文件
bin //二进制可执行命令
sbin // 系统管理命令,这里存放的是系统管理员使用的管理程序
dev //设备目录 光驱,磁盘,分区等
etc //系统管理和配置文件
lib //库文件,共享对象文件(so--shared object 等价于dll文件)
home //主目录 非root用户的普通用户
root //系统管理员的主目录
usr //用户的的一些文件,最庞大的目录
基本操作: alt+ctrl //切换鼠标
xxx --help (-h) 查看帮助 man ls --- info ls
ls -al | more 查看更多信息
clear 清屏
which whoami 查询可执行文件的地址
echo $PATH 输出环境变量(区分大小写)echo${evn_name}
cd ~
pwd 打印当前的工作目录
su root切换用户
ls -al列出目录 ls -alh人性化可读 ls -a显示全部文件 ls -l列表展示
ifconfig 查看Ip
find . | grep
rm -rf xxx递归强制删除目录(文件) rm -f
mkdir 创建文件夹
touch 创建文件
echo helloWorld> hello.txt 覆盖模式
echo helloWorld>> hello.txt 追加模式
cat xxx直接查看文件内容
nano 编辑器软件
mv 同一目录移动就是重命名
不同目录下是移动操作
head -1 xxx //查看文件头第一行
tail -1 xxx //查看文件末尾第一行
hostname
reboot重启 shutdown -r关机关电源
uname -a查看系统内核信息
file xxx 查看文件类型
归档与解档 tar 归档: tar -cvf mytar.tar qingshu.txt xingchen.txt
tar 解档: tar -xvf mytar.tar
参数的含义: -c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
压缩与解压随 gzip 压缩:gzip -1 mytar.tar 原地压缩,时间优先(空间优先-9)
tar -xzvf mytar.tar.gz解压tar 解压缩:gunzip mytar.tar.gz
linux目录 ~ 和/的区别 ?
一般情况是这样的~指 /root/
/指/
那么~就是登陆用户的主目录就相当于他的房间或者理解为他自己的单元
那么/就像是一栋房子
linux su和sudo命令的区别?
su命令后回车表示切换当前的用户到root用户
sudo 表示获取临时的root权限命令,sudo命令临时使用root权限来做一些普通账户无法完成的工作~
tar -tf mytar.tar 查看tar下的文件
tar -rf mytar.tar xxx 追加文件到tar中
xargs 将管道的输出内容合并成一行数据,使用空格分隔 find . | grep txt | cp 'xargs' dir ''是按照命令行进行执行
linux链接文件
硬链接:两个完全相同的文件,占用2倍的磁盘空间。两者实时同步,删除一个文件,另外一个不删除
ln hello.txt hello.txt.ln
符号链接:相当于快捷方式,不会占用过多的磁盘空间。如果源文件删掉,链接失效(不意味删除,红色)
ln -s hello.txt hello.txt.ln
查看进程信息 ps -Af
杀死进程 kill %1
对每行输出进行剪切处理 cut -c 1- xxx //显示1以及以后的所有字符
cut -c -5 xxx //显示开始到5的所有字符
cut -c 3-5 xxx //显示3-5的字符
fdisk
---------------
查看磁盘信息,分区 sudo fdisk -l /dev/sda
查看磁盘的使用情况 df -ah ===disk free
dirname
----------------
查看文件(夹)所在目录
dirname /home/buntu //输出/home
dirname /home/buntu/how.txt //输出/home/ubuntu
basename
----------------
输出文件的基本名称(取出目录的部分)
basename /home/ubuntu/how.txt //输出how.txt
basename /home/ubuntu/how.txt .txt //输出how
echo $(hostname) //进行动态命令执行
crtl + alt +F6 开启一个新的会画命令行
查看Linux内置命令的帮助
-----------------
help export
文件和权限
-----------------
1、文件类型
d 目录
- 文件
b block
l link
2、权限
Owner 主人
group 组
other
3、权限控制 (二进制运算)
r rwx
111=7
w
x
修改文件权限
-----------------
chmod ugo+rwx 文件名
chmod 777
chmod ugo+=rwx 文件名
chmod -R 777 a递归更改文件权限
linux怎么和windows通信
vim编辑器:一般模式,
编辑模式: i a o
指令模式: : / ?
mount/unmount 挂载/卸载
------------------
mount /dev/sda1 文件名
umount /dev/sda1 文件名
crontab系统定时任务
-------------
crontab -e 编辑定时任务
crontab -l 查询任务
crontab -r 删除当前用户的所有任务
* * * * * 执行的任务
分 小时 天 月 星期几
特殊符号:*/n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
* 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
例:*/5 * * * * /bin/echo ”11” >> /tmp/test
rpm
--------------
软件包管理工具
rpm -qa查询安装的所有rpm软件包
rpm -e 软件包名 卸载
rpm -ivh 软件包名 安装
shell编程:Shell是解释执行的脚本语言,在Shell中可以调用Linux系统命令
-------------
1、shell脚本的执行方式
脚本格式: 脚本以#!/bin/bash 开头
常用执行方式 ./+脚本或 bash或sh+脚本
2、shell中的变量:系统变量、自定义变量
系统变量:$HOME、$PWD、$SHELL、$USER等等
定义变量:变量=值 A=100
撤销变量: unset 变量
声明静态变量 readonly 变量
设置环境变量 export 变量名=变量值
source配置文件 让修改后的配置信息立即生效
将命令的返回值赋给变量 A=$(ls -la)等价于反引号
位置参数变量
$n (功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$# (功能描述:这个变量代表命令行中所有参数的个数)
例:
#!/bin/bash
echo "$1 $2"
echo "$*"
echo "$@"
echo "$#"
预定义变量
$$ (功能描述:当前进程的进程号(PID))
$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
3、运算符
$(())或$[运算式]
expr m + n 运算之间有空格
例: S=$[(2+3)*4] echo $S
4、条件判断
-lt小于 -eq等于 -gt等于
5、流程控制 :[ 条件判断式 ],中括号和条件判断式之间必须有空格 elif [ 条件判断式 ] then
if语法
if [ 条件判断式 ] then
程序
fi
case语法
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
for语法
for 变量 in 值1 值2 值3…
do
程序
done
-------------------
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
while语法
while [ 条件判断式 ]
do
程序
done
6、read读取控制台输入
read -p:指定读取值时的提示符 -t:指定读取值时等待的时间(秒)
#!/bin/bash
read -t 7 -p "please 7 miao input your name " NAME
echo $NAME
7、函数
系统函数:basename 功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
dirname 功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
自定义函数:必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。
#!/bin/bash
function sum()
{
s=0
s=$[ $1 + $2 ]
echo "$s"
}
read -p "Please input the number1: " n1;
read -p "Please input the number: " n2;
sum $n1 $n2;
linux下
1、查看网关/修改IP地址:编辑--虚拟网络编辑器-->NAT设置-->192.168.126.2
2、配置网络Ip地址:
0) 查看当前ip基本语法 ifconfig
1) 在终端命令窗口中输入 vim /etc/udev/rules.d/70-persistent-net.rules
进入如下页面,删除eth0该行;将eth1修改为eth0,同时复制物理ip地址
2) 修改IP地址 :vim /etc/sysconfig/network-scripts/ifcfg-eth0
需要修改的内容有5项:
IPADDR=192.168.11.106
GATEWAY=192.168.11.2
ONBOOT=yes 源文件有
BOOTPROTO=static 源文件有
DNS1=192.168.11.2
:wq 保存退出
执行 service network restart
如果报错,reboot,重启虚拟机
3、配置主机名:
0)查看主机名基本语法:hostname
1)修改linux的hosts文件
如果感觉此主机名不合适,我们可以进行修改。通过编辑vi /etc/sysconfig/network
文件中内容
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME= hadoop102
注意:主机名称不要有“_”下划线
保存退出:wq
2) 打开/etc/hosts
vim /etc/hosts
添加如下内容 192.168.11.102 hadoop102 根据自己的主机名而定
3)并重启设备,重启后,查看主机名,已经修改成功
4、防火墙
查看防火墙状态: service iptables status
临时关闭防火墙: service iptables stop
查看防火墙开机启动状态 chkconfig iptables --list
关闭防火墙开机启动 chkconfig iptables off
开启防火墙开机启动 chkconfig iptables on
5、关机重启
(1)sync (功能描述:将数据由内存同步到硬盘中)
shutdown –r now 系统立马重启
halt 关机
su和sudo什么区别
su '强制您将root密码分享给其他用户,而' sudo '则可以在不使用root密码的情况下执行系统命
解压到指定目录,用什么命令?
tar -zxvf jdk -C /opt/module
1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.
2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的.
http://spspcs.zybh.gov.cn/gjjspscww 企业申报 wangyy 111111
http://spglcs.zybh.gov.cn/gjjspscnw/ 数据管理 jdz 111111
查看端口 netstat -tunlp|grep 端口号
netstat -nltp
sudo lsof -i:50070 -P
hadoop启动的各种问题
https://segmentfault.com/a/1190000006838239
运行出警告
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
https://blog.csdn.net/txd751466382/article/details/80464378