Linux笔记
- 给虚拟机拍摄快照,右键某虚拟机 如centOS1,选择快照-拍摄快照,即可生成快照,下次恢复时可以恢复到相应的快照。
- 日常操作命令:
**查看当前所在的工作目录
pwd
**查看当前系统的时间
date
**查看有谁在线(哪些人登录到了服务器)
who 查看当前在线
last 查看最近的登录历史记录
3. 文件系统操作
**
ls / 查看当前目录下的子节点(文件夹和文件)信息
ll 显示当前目录下的文件的详细信息
ls -al -a显示隐藏文件 -l 以更详细的列表形式显示
** 切换目录
cd /home
注意:~ /home /root / 区别 在root用户下,~ = /root 在普通用户下 ~ = /home/当前的普通用户名 /是所有文件的根目录,linux的目录是树结构,/是父节点。
**创建文件夹
mkdir aaa 这是相对路径的写法
mkdir /data 这是绝对路径的写法
mkdir -p xx/xx/xx 创建目录下的文件夹
**删除文件夹
rmdir 可以删除空目录
rm -r aaa 可以把aaa整个文件夹及其中的所有子节点删除
rm -rf aaa 强制删除aaa整个文件夹
rm -rf /* 删除整个系统 只有root可以进行该操作 很危险!!
**修改文件夹名称
mv aaa cainainainai 把aaa改名为cnn 文件里面的内容不变
注意 mv指令既可以修改文件名称也可以移动文件!
**创建文件
touch somefile.1 创建一个空文件
echo “I miss you” > somefile.2 利用重定向> 的功能,将一条指令的输出结果写入到一个文件中,如果原文件不是空文件,则会覆盖掉原文件的内容
cat comefile.2 查看文件内容
echo “hellooooo” >> somefile.2 追加内容到文件
*用vim来编辑生成文件 vi somefile.3 会进入到文件,通过vim操作编辑
***************最基本用法(首先掌握这些)
1.首先会进入一般模式,此模式只接受各种快捷键,不能编辑文件内容。
2.按i键,从一般模式进入插入模式,此模式下,敲入的都是文件内容。
3.再按: , 进入底行命令行模式,输入wq指令,回车即可保存修改内容并退出,如果按q!则不保存修改内容直接退出。
**************常用快捷键
vim有用的快捷键: 关于vim更多用法请看另一篇“VIM快速入门“。
a 在光标的后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除行,如果按 5dd 则一次性删除光标后的5行
yy 复制当前行,复制3行则3yy p 粘贴
v 进入可视模式 选择完成后,按y复制,按p粘贴
ctr+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,批量选择行,选择完成后,按y复制,按p粘贴
:%s/需要替换的内容/要替换的内容 查找并替换(在底行命令模式中输入)
:/要查找的内容 查找文件中出现的xxx并定位到第一个找到的地方 n定位下一个,N定位上一个
mv 要移动的文件 移动的目标文件夹位置 如 mv somefile.3 t 移动文件
- 文件权限操作
*******linux文件权限的描述格式解读
drwxr-xr-x -> d rwx r-x r-x 也可以用二进制表示 111 101 101 -> 十进制: 7 5 5
d: 标识节点类型(d:文件夹 -:文件 l:链接)
r:可读 w:可写 x:可执行
第一组rwx:表示这个文件的拥有者对它的全写:可读可写可执行
第二组r-x:表示这个文件的所属组对它的权限,可读,不可写,可执行
第三组:表示这个文件的其他用户(除了上面两类用户)对它的权限:可读,不可写,可执行
*******修改文件权限
chmod g-rw somefile.3 表示将somefile.3对所属组的rw权限取消
chmod o-rw somefile.3 表示将somefile.3对其他人的rw权限取消
chmod u+x somefile.3 表示将somefile.3对所属用户的权限增加x
因为drwxr-xr-x也可以用二进制表示 111 101 101 -> 十进制: 7 5 5
所以也可以用数字方式修改权限
chmod 700 somefile.3
chmod 777 somefile.3
如果要将一个文件夹的所有内容权限统一修改,则可以用 -R 参数。
chmod -R 770 yy/
一般采用数字的方式修改权限,这样比较方便。
注意:对于write权限,如果删除一个文件,发现可以删除,这是因为删除文件不会改变这个文件的内容,它改变的是这个文件的父文件的内容,因此想要不能删除一个文件,需要设置的是该文件所在父目录的w权限。
修改文件的拥有用户和拥有组:
chown user1:user1 yy/ 只有root权限能执行该命令
- 基本的用户管理
*****添加用户(root权限)
useradd user1
passwd user1 修改user1用户的密码
*******为用户添加sudo权限
由于root很容易做出错误操作,一般不会用root用户进行操作。此时一个普通用户hadoop想要做一些root操作就需要提升自己的权限,此时使用su指令,输入root的密码后可以暂时切换到root用户。当需要退出时输入exit退出。但是这样做同样可能有危险。因为在切换到root权限使用的期间可能会做出不当操作。 此时可以使用sudo指令 sudo userasdd sora ,它代表在执行下一条命令时临时添加一个超级用户权限的用户并取名为sora,当执行完该条指令后会回到当前用户(hadoop)的身份。
但是通过操作我们会发现结果如下图:
我们发现并不能临时添加这样一个超级权限的用户,因为我们事先没有给hadoop分配这样的权限,因此需要转到root用户,让其给用户hadoop在sudoers文件中配置以添加该权限。
使用root用户 vi /etc/sudoers
修改该文件 为方便起见,我们直接将用户hadoop赋予和root一样的权限,直接跳到文件末尾 然后向上找,找到画框上一行代码(注:画框的是添加的!!),复制粘贴到下一行,将root改为hadoop,再按输入:wq!保存退出。因为该文件是受保护的,因此要加!才可以修改保存。
此时我们在Hadoop用户下再次输入 sudo useradd hanser,就可以执行成功了,如下图:
接下来就和添加用户权限一样了,给hanser赋予密码:
sudo passwd hanser
设置完密码后,该超级权限的用户hanser就建立了。此时我们可以登录,指令为
su hanser
如果要退回hadoop用户,输入exit即可。
- 系统管理操作
*****查看主机名 hostname
*****修改主机名 重启后永久生效
vi /etc/sysconfig/network
********修改ip
vi /etc/sysconfig/network-scripts.ifcfg-eth0
******查看系统信息(版本等信息)
uname -a
uname -r
********日期 date
当需要查看某条指令的帮助时 在指令后加 –help
*****挂载外部存储设备到文件系统中 在图形界面中,光驱会自动挂载,但是在命令行系统 需要用指令操作挂载。
mkdir /mnt/cdrom 创建一个目录用来挂载
mount -t iso9660 -o ro /dev/cdrom /mny/cdrom/ 将设备/dev/cdrom挂载到挂载点mnt/cdrom中
umount /mnt/cdrom 取消挂载
**********查看文件大小
正常的ll 或ls 只能看到文件的元大小且不带单位,人无法识别真正的大小,因此需要用du指令。
du -sh 文件目录 带大小单位 du -sh * 把根目录的所有文件大小全部统计出来
du -ah
查看分区磁盘的空间 df -h
********关机 halt 重启 reboot 必须是root才可以操作。
********拷贝文件到另一个目录
cp somefile.1 /home/hadoop/
********查看文件内容
cat somefile.1 一次性将文件内容全部输出到控制台
more somefile.1 可以翻页查看,空格下翻一页,b上翻一页 退出q
less somefile.1 翻页查看 可以一行行的翻页 下翻一页 空格 上翻一页 b 上翻一行 上箭头 下翻一行 下箭头 支持搜索 /xxx(和vi操作一样)
tail -10 xxx 查看xxx文件的最后10行 一般用于查看追加日志
tail -f xxx 会一直跟踪xxx文件 不断追加日志 跟踪文件的唯一inode号,就算文件改名还是跟踪原来那个文件
tail -F xxx 按照文件名跟踪,一般用这种
查看文件头部前10行 head -10 xxx
- ssh免密登录
ssh协议 远程登录安全外壳协议 从一个linux系统访问另一个linux系统
有两种身份验证机制:
a,用户名+密码验证 b,密钥验证
centOS1 192.168.159.128 访问 centOS2 192.168.159.129
ssh 192.168.159.129
exit退出访问的服务器回到本服务器。
ssh可做远程文件拷贝和传送:scp install.log root@192.168.159.129:/home/
scp 拷贝的文件 接收目标的身份@目标ip地址:拷贝的目录
因为没做一次ssh协议都要输入一次对方root的密码,对于集群,这种操作就很频繁很麻烦,因此引入ssh免密登录,即采用密钥验证方式。
主机A生成密钥指令 ssh-keygen 然后提示要把密钥存在哪里 全部默认即可。
主机A将公钥拷贝给主机B并放入B的authorized_keys中: ssh-copy-id 192.168.159.129
可以在B主机查看authorized_keys中是否存入了A的公钥。
整个过程见下图:
主机node1
主机node2
此时node1可以实现node2的ssh免密登录
- 后台服务管理
service network status 查看指定服务的状态
service network stop/start/restart 停止/开启/重启服务
service –status-all 查看系统中全部后台服务
-----系统启动级别-------
vi /etc/inittab
*********设置后台服务的自动配置
chkconfig 查看所有服务的配置
chkconfig iptables off/on 关闭/开启 指定服务的自动启动
上述是常见的操作,还有更多的指令需要再进一步学习中掌握。