共计 5291 个字符,预计需要花费 14 分钟才能阅读完成。
Linux 的常用命令
linux 的命令操作,这里简单的记录一下常用的。
1、日常操作命令
查看当前所在的工作目录
pwd
查看当前系统的时间
date
查看有谁在线(哪些人登陆到了服务器)
who 查看当前在线 last 查看最近的登陆历史记录
修改开机的等待时间
2、文件系统操作
显示信息 ls
ls / 查看根目录下的子节点(文件夹和文件)信息 ls -al - a 是显示隐藏文件 - l 是以更详细的列表形式显示
切换目录
cd /home
创建文件夹
mkdir aaa 这是相对路径的写法 mkdir -p aaa/bbb/cccmkdir /data 这是绝对路径的写法
删除文件夹
rmdir 可以删除空目录 rm -r aaa 可以把 aaa 整个文件夹及其中的所有子节点全部删除 rm -rf aaa 强制删除 aaa
修改文件夹名称
mv aaa angelababy
创建文件
touch somefile.1 创建一个空文件 echo “i miss you,my baby” > somefile.2 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容 echo “huangxiaoming ,gun dan” >> somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
查看文件多少个单词,多少行
wc -w READMEwc -l README
查看文件
tail -f somefile 根据 inode 节点跟踪 tail -F somefile 根据 文件名 跟踪
解压和压缩
1.gzip 压缩
gzip a.txt
2. 解压
gunzip a.txt.gz
gzip -d a.txt.gz
3.bzip2 压缩
bzip2 a
4. 解压
bunzip2 a.bz2
bzip2 -d a.bz2
5. 将当前目录的文件打包
tar -cvf bak.tar .
将 /etc/password 追加文件到 bak.tar 中 (r)
tar -rvf bak.tar /etc/password
6. 解压
tar -xvf bak.tar
7. 打包并压缩 gzip
tar -zcvf a.tar.gz
8. 解压缩
解压到 /usr/ 下
tar -zxvf a.tar.gz -C /usr
9. 查看压缩包内容
tar -ztvf a.tar.gz
zip/unzip
10. 打包并压缩成 bz2
tar -jcvf a.tar.bz2
11. 解压 bz2
tar -jxvf a.tar.bz2
用 vi 文本编辑器来编辑生成文件
****** 最基本用法 vi somefile.41、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容 2、按 i 键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 3、编辑完成之后,按 Esc 键退出编辑模式,回到一般模式;4、再按:,进入“底行命令模式”,输入 wq 命令,回车即可
****** 一些常用快捷键一些有用的快捷键(在一般模式下使用):a 在光标后一位开始插入 A 在该行的最后插入 I 在该行的最前面插入 gg 直接跳到文件的首行 G 直接跳到文件的末行 dd 删除行,如果 5dd,则一次性删除光标后的 5 行 yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的 3 行 p 粘贴 v 进入字符选择模式,选择完成后,按 y 复制,按 p 粘贴 ctrl+v 进入块选择模式,选择完成后,按 y 复制,按 p 粘贴 shift+v 进入行选择模式,选择完成后,按 y 复制,按 p 粘贴
查找并替换(在底行命令模式中输入)%s/sad/88888888888888 效果:查找文件中所有 sad,替换为 88888888888888/you 效果:查找文件中出现的 you,并定位到第一个找到的地方,按 n 可以定位到下一个匹配位置(按 N 定位到上一个)
3、文件权限的操作
****linux 文件权限的描述格式解读 drwxr-xr-x(也可以用二进制表示 111 101 101 –> 755)
d:标识节点类型(d:文件夹 -:文件 l: 链接)r:可读 w:可写 x:可执行 第一组 rwx:表示这个文件的拥有者对它的权限:可读可写可执行第二组 r -x:表示这个文件的所属组对它的权限:可读,不可写,可执行第三组 r -x:表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行
**** 修改文件权限 chmod g-rw haha.dat 表示将 haha.dat 对所属组的 rw 权限取消 chmod o-rw haha.dat 表示将 haha.dat 对其他人的 rw 权限取消 chmod u+x haha.dat 表示将 haha.dat 对所属用户的权限增加 x
也可以用数字的方式来修改权限 chmod 664 haha.dat 就会修改成 rw-rw-r–
如果要将一个文件夹的所有内容权限统一修改,则可以 - R 参数 chmod -R 770 aaa/chown angela:angela aaa/ < 只有 root 能执行 >
目录没有执行权限的时候普通用户不能进入文件只有读写权限的时候普通用户是可以删除的 (删除文件不是修改它, 是操作父及目录), 只要父级目录有执行和修改的权限
4、基本的用户管理
***** 添加用户 useradd angela 要修改密码才能登陆 passwd angela 按提示输入密码即可
** 为用户配置 sudo 权限用 root 编辑 vi /etc/sudoers 在文件的如下位置,为 hadoop 添加一行即可 root ALL=(ALL) ALL hadoop ALL=(ALL) ALL
然后,hadoop 用户就可以用 sudo 来执行系统级别的指令 [hadoop@shizhan ~]$ sudo useradd huangxiaoming
添加一个 tom 用户,设置它属于 users 组,并添加注释信息分步完成:useradd tom
usermod -g users tom
usermod -c “hr tom” tom
一步完成:useradd -g users -c “hr tom” tom
设置 tom 用户的密码 passwd tom
修改 tom 用户的登陆名为 tomcatusermod -l tomcat tom
将 tomcat 添加到 sys 和 root 组中 usermod -G sys,root tomcat
查看 tomcat 的组信息 groups tomcat
添加一个 jerry 用户并设置密码 useradd jerrypasswd jerry
添加一个交 america 的组 groupadd america
将 jerry 添加到 america 组中 usermod -g america jerry
将 tomcat 用户从 root 组和 sys 组删除 gpasswd -d tomcat rootgpasswd -d tomcat sys
将 america 组名修改为 amgroupmod -n am america
5、系统管理操作
主机名操作
hostname**** 修改主机名 (重启后无效)hostname hadoop
***** 修改主机名 (重启后永久生效)vi /ect/sysconfig/network
chkconfig 设置后台服务的自启动配置
chkconfig 查看所有服务的自启动配置 chkconfig iptables off 关掉指定服务的自启动 checonfig iptables on 开启指定服务的自启动
系统启动级别管理
vi /etc/inittabcentos7 之后 inittab is no longer used when using systemd 不再使用了。
IP 地址文件的详解
**** 修改 IP(重启后无效)ifconfig eth0 192.168.12.22
**** 修改 IP(重启后永久生效)vi /etc/sysconfig/network-scripts/ifcfg-ens32 里面内容的解释:
TYPE=”Ethernet” # 这个是类型不用管
PROXY_METHOD=”none” # 这个是代理方式,不用管
BROWSER_ONLY=”no” # 仅浏览器模式,不用管
BOOTPROTO=”dhcp” # 网卡获得 ip 地址的方式,dhcp 代表自动获取,static(静态 ip 地址)bootip(通过 bootp 协议获得的 ip 地址)
DEFROUTE=”yes” # 默认路由
IPV4_FAILURE_FATAL=”no”
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
IPV6_DEFROUTE=”yes”
IPV6_FAILURE_FATAL=”no”
IPV6_ADDR_GEN_MODE=”stable-privacy”
NAME=”ens32″ # 网卡名称
UUID=”026a2b15-42ea-472f-86d6-9913d19aff3e” ##UUID 不用管
DEVICE=”ens32″ # 网卡名称
ONBOOT=”yes” # 开机启动
如果把 BOOTPROTO 修改成 static,一般情况下只需要配置如下就行:
BOOTPROTO=static #改为 static 静态 ip
IPADDR=192.168.126.166 # 这里需要指定 ip
GATEWAY=192.168.126.2 # 指定网关
NETMASK=255.255.255.0 # 指定子网掩码
ONBOOT=yes # 开机启动
DNS1=192.168.126.2 # DNS 指定网关就行 可以不配置
DNS2=8.8.8.8
mount 挂载外部存储设备到文件系统中
mkdir /mnt/cdrom 创建一个目录,用来挂载 mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备 /dev/cdrom 挂载到 挂载点:/mnt/cdrom 中
*****umountumount /mnt/cdrom
统计文件或文件夹的大小
du -sh /mnt/cdrom/Packagesdf -h 查看磁盘的空间
开关机
**** 关机 halt**** 重启 reboot
配置主机之间的免密 ssh 登陆
假如 A 要登陆 B 在 A 上操作:%% 首先生成密钥对 ssh-keygen (提示时,直接回车即可)%% 再将 A 自己的公钥拷贝并追加到 B 的授权列表文件 authorized_keys 中 ssh-copy-id B 原理如下图所示:
上传文件
上传文件到 linux 上, 是上传到当前所在的目录下 yum list|grep lrzszsudo yum -y install lrzsz.x86_64 命令:(参数 -y 如果 linux 上有相同的文件, 会覆盖)
rz
rz -y
6、正则表达式
1.cut 截取以: 分割保留第七段 grep hadoop /etc/passwd | cut -d: -f7
2. 排序 du | sort -n
3. 查询不包含 hadoop 的 grep -v hadoop /etc/passwd
4. 正则表达包含 hadoopgrep ‘hadoop’ /etc/passwd
5. 正则表达 (点代表任意一个字符)grep ‘h.*p’ /etc/passwd
6. 正则表达以 hadoop 开头 grep ‘^hadoop’ /etc/passwd
7. 正则表达以 hadoop 结尾 grep ‘hadoop$’ /etc/passwd
规则:. : 任意一个字符 a * : 任意多个 a(零个或多个 a)a? : 零个或一个 aa+ : 一个或多个 a.* : 任意多个任意字符. : 转义.<h.*p>:以 h 开头,p 结尾的一个单词 o{2} : o 重复两次
grep ‘^i.{18}n$’ /usr/share/dict/words
查找不是以 #开头的行 grep -v ‘^#’ a.txt | grep -v ‘^$’
以 h 或 r 开头的 grep ‘^[hr]’ /etc/passwd
不是以 h 和 r 开头的 grep ‘^1’ /etc/passwd
不是以 h 到 r 开头的 grep ‘^2’ /etc/passwd
7、输入输出重定向
1. 新建一个文件
touch a.txt
> b.txt
2. 错误重定向:2>
find /etc -name zhaoxing.txt 2> error.txt
3. 将正确或错误的信息都输入到 log.txt 中
find /etc -name passwd > /tmp/log.txt 2>&1
find /etc -name passwd &> /tmp/log.txt
4. 追加 >>
5. 将小写转为大写(输入重定向)
tr “a-z” “A-Z” < /etc/passwd
6. 自动创建文件
cat > log.txt << EXIT
> ccc
> ddd
> EXI
7. 查看 /etc 下的文件有多少个?
ls -l /etc/ | grep ‘^d’ | wc -l
8. 查看 /etc 下的文件有多少个,并将文件详情输入到 result.txt 中
ls -l /etc/ | grep ‘^d’ | tee result.txt | wc -l
8、进程管理
1. 查看用户最近登录情况
last
lastlog
2. 查看硬盘使用情况
df
3. 查看文件大小
du
4. 查看内存使用情况
free
5. 查看文件系统
/proc
6. 查看日志
ls /var/log/
7. 查看系统报错日志
tail /var/log/messages
8. 查看进程
top
9. 结束进程
kill 1234
kill -9 4333
VMware 机器克隆 IP 不可用问题
直接修改 /etc/sysconfig/network-script/ifcfg-eth0 删掉 UUID HWADDR 配置静态地址然后:rm -rf /etc/udev/rules.d/70-persistent-net.rules 然后 reboot
hr ↩
h-r ↩