Linux培训
达内IT学院
400-996-5531
今天小编为大家分享的文章是关于Linux运维的常用命令,正在学习Linux运维和正在从事Linux运维工作的小伙伴们快来看看本篇文章,牢记这些Linux命令,希望对你今后的工作有所帮助哦。
一、日常操作命令
查看当前所在的工作目录的全路径 pwd
[root@localhost ~]# pwd /root
查看当前系统的时间 date
[root@localhost ~]# date +%Y-%m-%d 2016-07-26 date +%Y-%m-%d --date="-1 day" #加减也可以 month | year 2016-07-25 [root@localhost ~]# date -s "2016-07-28 16:12:00" ## 修改时间 Thu Jul 28 16:12:00 PDT 2016
查看有谁在线(哪些人登陆到了服务器)
who 查看当前在线 [root@localhost ~]# who hadoop tty1 2016-07-26 00:01 (:0) hadoop pts/0 2016-07-26 00:49 (:0.0) root pts/1 2016-07-26 00:50 (192.168.233.1) last 查看最近的登陆历史记录 [root@localhost ~]# last root pts/1 192.168.233.1 Tue Jul 26 00:50 still logged in hadoop pts/0 :0.0 Tue Jul 26 00:49 still logged in hadoop tty1 :0 Tue Jul 26 00:01 still logged in reboot system boot 2.6.32-573.el6.x Tue Jul 26 07:58 - 16:23 (2+08:24)
关机/重启
关机(必须用root用户)
shutdown -h now ## 立刻关机 shutdown -h +10 ## 10分钟以后关机 shutdown -h 12:00:00 ##12点整的时候关机 halt # 等于立刻关机
重启
shutdown -r now
reboot # 等于立刻重启
清屏
1clear ## 或者用快捷键 ctrl + l
退出当前进程
1ctrl+c ##有些程序也可以用q键退出
挂起当前进程
ctrl+z ## 进程会挂起到后台
bg jobid ## 让进程在后台继续执行
fg jobid ## 让进程回到前台
echo
相当于java中System.out.println(userName) [root@localhost ~]# a="hi boy" [root@localhost ~]# echo a a [root@localhost ~]# echo $a hi boy
二、目录操作
查看目录信息
ls / ## 查看根目录下的子节点(文件夹和文件)信息 ls -al ## -a是显示隐藏文件 -l是以更详细的列表形式显示 ls -l ##有一个别名: ll 可以直接使用ll <是两个L>
切换工作目录
创建文件夹
mkdir aaa ## 这是相对路径的写法 mkdir /data ## 这是绝对路径的写法 mkdir -p aaa/bbb/ccc ## 级联创建目录
删除文件夹
rmdir aaa ## 可以删除空目录 rm -r aaa ## 可以把aaa整个文件夹及其中的所有子节点全部删除 rm -rf aaa ## 强制删除aaa
修改文件夹名称
mv aaa boy mv本质上是移动 mv install.log aaa/ 将当前目录下的install.log 移动到aaa文件夹中去 rename 可以用来批量更改文件名 [root@localhost aaa]# ll total 0 -rw-r--r--. 1 root root 0 Jul 28 17:33 1.txt -rw-r--r--. 1 root root 0 Jul 28 17:33 2.txt -rw-r--r--. 1 root root 0 Jul 28 17:33 3.txt [root@localhost aaa]# rename .txt .txt.bak * [root@localhost aaa]# ll total 0 -rw-r--r--. 1 root root 0 Jul 28 17:33 1.txt.bak -rw-r--r--. 1 root root 0 Jul 28 17:33 2.txt.bak -rw-r--r--. 1 root root 0 Jul 28 17:33 3.txt.bak
三、文件操作
创建文件
touch somefile.1
## 创建一个空文件
echo "hi,boy" > somefile.2
## 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如果指定的文件不存在,则会创建出来
echo "hi baby" >> somefile.2
## 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
vi文本编辑器
最基本用法
vi somefile.4
1 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
2 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4 再按:,进入“底行命令模式”,输入wq命令,回车即可
常用快捷键
一些有用的快捷键(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除一行
3dd 删除3行
yy 复制一行
3yy 复制3行
p 粘贴
u undo
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
查找并替换
1 显示行号
:set nu
2 隐藏行号
:set nonu
3 查找关键字
:/you ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
4 替换操作
:s/sad/bbb 查找光标所在行的第一个sad,替换为bbb
:%s/sad/bbb 查找文件中所有sad,替换为bbb
拷贝/删除/移动
cp somefile.1 /home/hadoop/ rm /home/hadoop/somefile.1 rm -f /home/hadoop/somefile.1 mv /home/hadoop/somefile.1 ../
查看文件内容
cat somefile 一次性将文件内容全部输出(控制台)
more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)
跳到文件末尾: G
跳到文件首行: gg
退出less : q
tail -10 install.log 查看文件尾部的10行
tail +10 install.log 查看文件 10-->末行
tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
tail -F install.log 大F按照文件名来跟踪
head -10 install.log 查看文件头部的10行
打包压缩
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 ./aaa
将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password
6、解压
tar -xvf bak.tar
7、打包并压缩
tar -zcvf a.tar.gz aaa/
8、解包并解压缩(重要的事情说三遍!!!)
tar -zxvf a.tar.gz
解压到/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
四、查找命令
常用查找命令的使用
1、查找可执行的命令所在的路径:
which ls
2、查找可执行的命令和帮助的位置:
whereis ls
3、从某个文件夹开始查找文件
find / -name "hadooop*"
find / -name "hadooop*" -ls
4、查找并删除
find / -name "hadooop*" -ok rm {} \;
find / -name "hadooop*" -exec rm {} \;
5、查找用户为hadoop的文件
find /usr -user hadoop -ls
6、查找用户为hadoop的文件夹
find /home -user hadoop -type d -ls
7、查找权限为777的文件
find / -perm -777 -type d -ls
8、显示命令历史
history
五、grep命令
1 基本使用
查询包含hadoop的行
grep hadoop /etc/password
grep aaa ./*.txt
2 cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7
3 查询不包含hadoop的行
grep -v hadoop /etc/passwd
4 正则表达包含hadoop
grep '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? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\. : 转义.
o\{2\} : o重复两次
查找不是以#开头的行
grep -v '^#' a.txt | grep -v '^$'
以h或r开头的
grep '^[hr]' /etc/passwd
不是以h和r开头的
grep '^[^hr]' /etc/passwd
不是以h到r开头的
grep '^[^h-r]' /etc/passwd
六、文件权限的操作
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 a-x haha.dat ## 表示将haha.dat对所用户取消x权限
也可以用数字的方式来修改权限
chmod 664 haha.dat
就会修改成 rw-rw-r--
如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 aaa/
修改文件所有权
<只有root权限能执行>
chown angela aaa ## 改变所属用户
chown :angela aaa ## 改变所属组
chown angela:angela aaa/ ## 同时修改所属用户和所属组
基本的用户管理
添加一个用户:
useradd spark
passwd spark 根据提示设置密码;
即可
删除一个用户:
userdel -r spark 加一个-r就表示把用户及用户的主目录都删除
添加用户
添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd -g users -c "hr tom" tom
设置tom用户的密码
passwd tom
修改用户
修改tom用户的登陆名为tomcat
usermod -l tomcat tom
将tomcat添加到sys和root组中
usermod -G sys,root tomcat
查看tomcat的组信息
groups tomcat
用户组操作
添加一个叫america的组
groupadd america
将jerry添加到america组中
usermod -g america jerry
将tomcat用户从root组和sys组删除
gpasswd -d tomcat root
gpasswd -d tomcat sys
将america组名修改为am
groupmod -n am america
为用户配置sudo权限
用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
然后,hadoop用户就可以用sudo来执行系统级别的指令
[root@localhost ~]$ sudo useradd xiaoming
七、系统管理操作
挂载外部存储设备
可以挂载光盘、硬盘、磁带、光盘镜像文件等
1/ 挂载光驱
mkdir /mnt/cdrom 创建一个目录,用来挂载
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
2/ 挂载光盘镜像文件(.iso文件)
mount -t iso9660 -o loop /home/hadoop/Centos-6.7.DVD.iso /mnt/centos
注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/fstab配置文件中,如下:
/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
3/ 卸载 umount
umount /mnt/cdrom
4/ 存储空间查看
df -h
统计文件或文件夹的大小
du -sh /mnt/cdrom/packages
df -h 查看磁盘的空间
系统服务管理
service sshd status service sshd stop service sshd start service sshd restart
系统启动级别管理
vi /etc/inittab # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
## 通常将默认启动级别设置为:3
进程管理
top free ps -ef | grep ssh kill -9
以上就是小编今天为大家分享的关于Linux运维的常用命令,希望本篇文章能够对Linux运维人员有所帮助,想要了解更多有关Linux知识,记得关注达内Linux培训官网哦。
作者:李东浩
#/2016/07/26/大数据学习之基础部分-----Linux常用命令/
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved