Linux系统常见操作
ssh
ssh [email protected] ssh 用户@IP
修改主机名
hostnamectl set-hostname myname
添加用户
useradd hadoop
passwd hadoop
删除用户
userdel -r hadoop
修改口令
passwd hadoop 超级用户,修改hadoop用户口令
New password:******
passwd 普通用户,修改自己口令
Old password:******
New password:******
关机
sync 将数据由内存同步到硬盘中。
shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10 十分钟后关机
shutdown –r now 系统立马重启
shutdown –r +10 系统十分钟后重启
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff
文件查找
[mongodb@mongodb01 bin]$ sudo find / -name java*
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/etc/alternatives/java.1.gz
/etc/alternatives/java
/etc/alternatives/javaws
/etc/alternatives/javaws.1.gz
...
查看目录
# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
/ 绝对路径,根目录
./ 相对路径,当前目录
/bin:存放着最常用的程序和指令。
/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
/home:用户的主目录,以用户的账号命名的。
/mnt:临时挂载别的文件系统的,可将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/proc:管理内存空间!虚拟的目录,是系统内存的映射,可直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/srv:存放服务启动后需要提取的数据(不用服务器就是空)。
/tmp:存放一些临时文件的。
/var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
/boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
/lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
/opt:默认是空的,我们安装额外软件可以放在这个里面。
/root:系统管理员的用户主目录。
/sbin:只有系统管理员能使用的程序和指令。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
查看磁盘存储
# df -h
# 查看/home 占用的磁盘空间
# df -h /home
文件权限
# ls -l 或 ll
总用量 28
lrwxrwxrwx. 1 root root 7 9月 18 15:01 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 9月 18 15:25 boot
索引:0,文件类型,d目录、-文件、l链接文档、b装置文件中可存储接口设备、c装置文件中串行端口设备
索引:123,属主权限
索引:456,属组权限
索引:789,其他用户权限
索引:1、4、7,可读权限r,不可读-
索引:2、5、8,可写权限w,不可写-
索引:3、6、9,可执行权限x,不可执行-
-> 为软链接
切换目录
[coin@bogon01 /]# cd /home
[coin@bogon01 home]#
显示当前目录
[coin@bogon01]# cd /var/mail
[coin@bogon01 mail]# pwd
/var/mail
[coin@bogon01 mail]# pwd -P
/var/spool/mail
[coin@bogon01 mail]# ls -ld /var/mail
lrwxrwxrwx. 1 root root 10 Sep 18 15:01 /var/mail -> spool/mail
# pwd [-P]
-P :显示出确实的路径,而非使用连结 (link) 路径。
新建目录
mkdir helloCatalog 创建文件夹,相对路径
mkdir -m 711 test 创建权限为 rwx--x--x 的目录
mkdir -p helloCatalog/abc/bcd 创建文件夹,没有子目录则自动创建
重命名目录/移动目录
mv helloCatalog hello 修改文件夹名称
删除目录
rmdir hello 可以删除空目录
rm -r hello 递归删除所有节点
rm -rf hello 强制删除所有节点
拷贝文件或目录
cp /home/coin/test /home/coin/testCopy 提示略过目录
cp -r /home/coin/test /home/coin/testCopy 递归拷贝目录
跨机器拷贝文件
scp /opt/mongo/mongodb-keyfile [email protected]:/opt/mongo/mongodb-keyfile
scp 文件路径 目标机器用户@目标机器IP:目标路径
文本基本操作
touch test.txt
新建文本
echo "i miss you,my baby" > test.txt
追加文本
cat test.txt
查看文本内容,一次性输出文件所有内容
more test.txt
可以翻页查看文件内容,向下翻页(空格)、向上翻页(b)、退出(q)
less test.txt
可以翻页查看文件内容,向下翻页(空格)、向上翻页(b)、退出(q),上翻一行(向上箭头),下翻一行(向下箭头),搜索关键字(/keyword)
tail -10 install.log 查看文件尾部10行
tail -f install.log 滚动查看文件,跟踪文件唯一inode号,文件过大时会自动切割,导致后续不会更新
tail -F install.log 滚动查看文件,跟踪文件名
head -10 install.log 查看文件头部10行
编写Shell脚本
vi test.sh 新建shell文件
i 进入编辑模式
#!/bin/bash
echo "Hello World !"
esc 退出编辑模式
:wq 保存退出
Shell脚本运行
作为可执行程序
chmod +x ./test.sh 使脚本具有执行权限
./test.sh 执行脚本
作为解释器参数
/bin/sh test.sh
ssh免密登录
A 登录 B,生成密钥
ssh-keygen(提示直接回车即可)
A的公钥拷贝至B授权文件
ssh-copy-id IP
后台服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status-all 查看系统中所有的后台服务
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务自启
chkconfig iptables on 开启指定服务自启
压缩解压
#压缩gz
gzip anaconda-ks.cfg
#打包
tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg
#解压缩
gzip -d anaconda-ks.cfg
#解包
tar -xvf anaconda-ks.cfg.tar
#打包+压缩
tar -zcvf my.tar.gz anaconda-ks.cfg
#解包+解压缩
tar -zxvf my.tar.gz