-
pwd: 查看当前工作目录的全路径
-
date +%Y-%m-%d 查看当前系统的时间
date +%Y-%m-%d --date="-1 day" date +%Y-%m-%d --date="-1 month" date +%Y-%m-%d --date="-1 year"
date -s “2016-05-23 01:01” 设置时间(重启后不生效)hwclock -w (重启生效)(测试没有通过) -
date --help 帮助命令
-
who 谁在登录服务器
-
shutdown -h now # 立刻关机 halt # 等于立刻关机
shutdown -h +10 # 10分钟以后关机
shutdown -h 12:00:00 # 12点整关机
reboot # 重启 -
clear 清屏 快捷键 Ctrl + L
-
Ctrl + C 退出当前的进程
-
Ctrl + Z bg + jobid 挂起当前的进程到后台
fg + jobid 让后台的进程返回到前台执行 -
ls -alh 查看目录信息
-
mkdir -p aaa/bbb/ccc 创建文件夹
-
rm -rf 删除文件,文件夹命令
-
mv 移动文件夹,修改文件名 rename .txt .txt.bak * 批量更改文件名 cp 拷贝文件
-
touch a.txt 创建空文件
-
重定向 >> 追加内容
-
vi文本编辑器
a 在光标后一位插入
A 在该行的最后插入
o 在下一行插入
I 在一行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除一行
3dd 删除3行
yy 复制一行
3yy 复制3行
p 粘贴
u undo
v 进入字符选择模式,按y复制,按p粘贴
ctrl + v 进入块选择模式, 按y复制,按p粘贴
shift + v j进入行选择模式, 按y复制,按p粘贴
:set nu 显示行号 :set nonu 取消行号
:/查找的内容 查找 n 向下找下一个 N 向上找上一个
:%s/sad/bbb 查找文件中所有的sad,替换为bbb -
less somefile 翻页查看文件内容 下翻一页 空格, 上翻一页b,上下翻一行 上下的箭头 搜索关键字:/keyword 跳到文件末尾:G 跳到文件的首行:gg 退出less:q
-
tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来的这个inode表示的文件
tail -F install.log 大F按照文件名来跟踪 -
tar -zcvf a.tar.gz aaa/ 打包并压缩
tar -zxvf a.tar.gz 解包并解压缩
tar -zxvf a.tar.gz -C /usr 解压到 /usr下面 -
which ls 查找所执行的命令所在的路径
-
find / -name “hadoop*” find / -name “hadoop*” -ls 从某个文件夹中开始查找某个文件
-
grep hadoop(正则表达式) /etc/passwd 在指定的文件里查找相应的内容
grep -v hadoop /etc/passwd 查询不包含hadoop的行
grep aaa ./*.txt -
chmod 777 1.txt 修改文件的权限
chmod +x 1.txt
chmod u+rwx 1.txt
chmod -R 777 aaa/ -
chown root /u 将 /u 的属主更改为"root"。
chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"。
chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。 -
chgrp staff /u 将 /u 的属组更改为"staff"。
chgrp -hR staff /u 将 /u 及其子目录下所有文件的属组更改为"staff"。 -
useradd hadoop 添加一个用户
passwd hadoop 给hadoop用户修改密码
userdel -r hadoop 删除一个用户
linux下,如何创建一个用户组,并添加两个用户
链接:https://zhidao.baidu.com/question/287961488.html -
为用户配置sudo权限: 让root用户vi编辑sudoers文件, 然后普通用户就可以执行系统级别的指令。
-
挂载光驱:mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom1/ 将设备 /dev/cdrom 挂在到挂载点 /mnt/cdrom1/中
挂载光盘镜像文件(.iso文件): mount -t iso9660 -o loop /home/hadoop/.iso文件 /mnt/centos
卸载: unmount /mnt/centos -
df -h 查看磁盘空间
-
du -sh * 统计文件的大小
系统服务管理 -
systemctl list-units --type=service 查看服务列表状态
systemctl list-unit-files 列出所有已经安装的 服务 及 状态 (可为人所读, 内容简略、清晰)
systemctl start sshd.service 开启一个服务
systemctl stop sshd.service 停止一个服务
systemctl restart sshd.service 重启一个服务
systemctl status sshd.service 查看一个服务的状态
systemctl enable sshd.service 开机自启动服务
systemctl disable sshd.service 关闭开机自启动服务
systemctl --failed 查看启动失败的服务列表
进程管理 -
ps -ef | grep ssh 查看相应的进程
kill -9 进程号
SSH免密登录 Secure Shell
基于密钥的安全验证 -
ssh-keygen 生成本机的密钥对(提示时,直接回车即可)
ssh-copy-id mini2 把本机的公钥拷贝到目标机,并且加入到授权池。
网络管理 -
主机名配置
hostname 查看主机名
vi /etc/hostname
IP地址配置
nmtui # 图形界面
/etc/sysconfig/network-scripts 修改配置文件
域名映射
/etc/hosts -
netstat -nltp 系统中网络进程的端口监听情况
Linux上常用软件安装方式
1.二进制发布包
软件已经针对具体平台编译打包发布,只要解压,修改配置即可(如 JDK、Tomcat、zookeeper)
2.RPM发布包
软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
3.Yum在线安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上存在的rpm软件,并且会自动解决软件安装过程中的库依赖问题
(注:类似于maven)
4.源码编译安装
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署
例:
C语言软件源码编译安装——redis服务器安装
(用源码工程来编译安装) -
到官网下载最新stable版
-
解压源码并进入目录 tar -zxvf redis-2.8.19.tar.gz -C ./redis-s rc/
-
make
如果报错提示缺少gcc,则安装gcc : yum install -y gcc
如果报错提示:Newer version of jemalloc required
则在make时加参数:make MALLOC=libc -
安装redis,指定安装目录,如 /usr/local/redis
make PREFIX=/usr/local/redis install -
拷贝一份配置文件到安装目录下
切换到源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下
cp redis.conf /usr/local/redis/ -
启动redis
cd /usr/local/redis
bin/redis-server redis.conf
高级文本处理命令 -
cut命令可以从一个文本文件或者文本流中提取文本列
cut -d’分隔字符’ -f fields ## 用于有特定分隔字符
将 PATH 变量取出,找出第五个路径。
echo $PATH | cut -d’:’ -f 5
/usr/local/bin
将 PATH 变量取出,找出第三和第五个路径。
#echo
d’ example -----删除example文件的第二行到末尾所有行。
sed ‘$d’ example -----删除example文件的最后一行。
sed '/test/'d example -----删除example文件所有包含test的行。
2/ 替换:s命令
sed ‘s/test/mytest/g’ example
在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。
sed -n ‘s/^test/mytest/p’ example
(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。
sed ‘s/^192.168.0.1/&localhost/’ example
&符号表示追加一个串到找到的串后。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
- awk命令
显示/etc/passwd的账户
cat /etc/passwd |awk -F ‘:’ ‘{print $1}’
显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。
cat /etc/passwd |awk -F ‘:’ ‘BEGIN {print “name,shell”} {print $1","$7} END {print “blue,/bin/nosh”}’
37. crontab配置
1.命令功能:通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期
性的日志分析或数据备份等工作。
2.命令格式:crontab [-u user] [ -e | -l | -r ]
3.配置基本格式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点) 7-9表示:8点到10点之间
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
4.例
*/1 * * * * date >> /root/date.txt
上面的例子表示每分钟执行一次date命令
30 21 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/httpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
- */1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子每一小时重启apache - 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart
上面的例子每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/httpd restart
上面的例子一月一号的4点重启apache
- scp
scp install.sh root@ PWD - 查看后台进程
ps -ef | grep redis - 查看端口号
netstat -nltp - 普通用户切换到超级用户
su -(exit退出) - 超级用户切换到普通用户
su - hadoop - 建立软连接的命令
ln -s [源目标] [链接名字] - 查看发行版本命令
lsb_release -a
45.CentOS 查看系统 CPU 个数、核心数、线程数
1、查看 CPU 物理个数
grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l
2、查看 CPU 核心数量
grep ‘core id’ /proc/cpuinfo | sort -u | wc -l
3、查看 CPU 线程数
grep ‘processor’ /proc/cpuinfo | sort -u | wc -l
4、查看 CPU 型号
dmidecode -s processor-version
5、查看 CPU 的详细信息:
cat /proc/cpuinfo