[TOC]
一、系统级别
1.查看CPU信息(型号)
[root@localhost yxy-wg]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
12 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
2.查看物理CPU个数
[root@localhost yxy-wg]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
3.查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 6
4.查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
12
5.查看内存容量信息
[root@localhost config]# cat /proc/meminfo | grep MemTotal
MemTotal: 16145812 kB
6.查询当前目录下文件数量情况
ls -l |grep "^-"|wc -l
查看当前目录下文件大于 1M的内容
find . -type f -size +1000k -print0 | xargs -0 du -h | sort -nr
7.查询CPU使用情况
8.跟踪路由变化信息
traceroute -n 174.30.0.200
9.增加防火墙端口
--permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
更新防火墙规则
firewall-cmd --reload
10.查看所有打开的端口
firewall-cmd --zone=public --list-ports
11.查看防火墙区域信息
[root@localhost 19]# firewall-cmd --get-active-zones
public
interfaces: eno1
12.查看是否已拒绝
firewall-cmd --query-panic
13.删除防火墙规则
删除80规则
firewall-cmd --zone=public --remove-port=80/tcp --permanent
14. 统计文件夹大小
[root@localhost server]# du -sh config/
44K config/
15.统计单个文件大小
[root@localhost JZ20170505542474]# du -h DICOMDIR
198M DICOMDIR
16.查询当前目录的文件并以升序排列
ll -t | tac
17.查询当前目录的文件并以降序排列
ll -t
18.查询端口占用情况
netstat -ntlp
19.统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
20.后台方式运行并数据日志到指定路径
nohup java -jar /home/pro/application/monitor/zop-monitor-web.jar >/logs/zop-monitor-web.log &
21.GIT常见操作命令
- 查看远程分支
git branch -a
- 查看本地分支
git branch
- 切换分支命令
git checkout -b v1 origin/v1
# 切换回master
git checkout master
- 更新远程分支信息
git fetch origin --prune
22.GIT仓库迁移步骤
- 查看当前GitLab的地址:
配置好新的远程仓库GitLab对应的用户和邮箱信息
$ git remote -v
- 设置本地GitLab地址为新的GitLab仓库地址:
$ git remote set-url origin [email protected]:houyuehan/xxx.git
查看设置结果:
$ git remote -v
- 查看分支情况:
$ git branch -a
4.把本地主分支推送到新的代码仓库上
git push origin master:master
5.推送本地的子分支推送到新的远程仓库上
A. 先checkout 远程分支到本地:
git checkout -b develop origin/develop
B.push 子分支到新的远程仓库上
git push origin develop:develop
二、文件操作
1.ls
这个命令是经常用到的,用来显示当前目录下有哪些文件
- -a
Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,
而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
[hadoop@hadoop02 /]$ ls -a
. .. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
- -l
这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。
[hadoop@hadoop02 /]$ ls -l
总用量 28
lrwxrwxrwx. 1 root root 7 4月 19 2018 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 4月 19 2018 boot
drwxr-xr-x. 19 root root 3180 11月 18 10:35 dev
drwxr-xr-x. 139 root root 8192 11月 18 10:35 etc
drwxr-xr-x. 4 root root 31 4月 20 2018 home
lrwxrwxrwx. 1 root root 7 4月 19 2018 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 4月 19 2018 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 11月 5 2016 media
drwxr-xr-x. 2 root root 6 11月 5 2016 mnt
drwxr-xr-x. 3 root root 16 4月 19 2018 opt
dr-xr-xr-x. 154 root root 0 11月 18 10:34 proc
dr-xr-x---. 16 root root 4096 11月 5 20:41 root
drwxr-xr-x. 39 root root 1180 11月 18 10:35 run
lrwxrwxrwx. 1 root root 8 4月 19 2018 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 11月 5 2016 srv
dr-xr-xr-x. 13 root root 0 11月 18 10:34 sys
drwxrwxrwt. 18 root root 4096 11月 18 11:56 tmp
drwxr-xr-x. 13 root root 155 4月 19 2018 usr
drwxr-xr-x. 21 root root 4096 4月 19 2018 var
读:r 写:r 执行:x
rwx(Owner)r-x(Group)rx(Other) : 拥有[可读写执行]-同组用户[读/执行]-其他用户[读/执行]
- -F
使用这个参数表示在文件的后面多添加表示文件类型的符号
* :可执行 / :目录 @:连接文件
2.mkdir / rmdir
mkdir用来创建新的目录
rmdir 用来删除已建立的目录[空目录]
删除非空文件夹: rm -rf xxx
3.cp
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文
件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个
文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
- -a
此参数的效果和同时指定"-dpR"参数相同;
- -d
此参数的效果和同时指定"-dpR"参数相同;
- -f
强行复制文件或目录,不论目标文件或目录是否已存在;
- -i
覆盖既有文件之前先询问用户;
- -l
对源文件建立硬连接,而非复制文件;
- -p
源文件或目录的属性;
- -R/r
递归处理,将指定目录下的所有文件与子目录一并处理;
- -s:
对源文件建立符号连接,而非复制文件;
- -u
使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标
文件并不存在时,才复制文件;
- -S:
在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
- -b
覆盖已存在的文件目标前将目标文件备份; -v:详细显示命令执行的操作
用法示例:
#成功,没有提示按Y、传递了目录属性、没有略过目录。
cp -r -a aaa/* /bbb
4.rm
rm这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万
要注意。rm命令常用的参数有三个: -i,-r,-f。
- -f,--forece
忽略不存在的文件,从不给出提示。
- -i,--interactive
进行交互式删除
- -r,-R, --recursive
指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v,--verbose
详细显示进行的步骤
- --help
显示此帮助信息并退出
- --version
输出版本信息并退出
用法示例:
# 强制删除
rm –r 目录名
5. mv
mv这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。当使用该命令来
移动目录时,他会连同该目录下面的子目录也一同移走。
- -b
若需覆盖文件,则覆盖前先行备份。
- -f
force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i
标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u
若目标文件已经存在,且 source 比较新,才会更新(update)
- -t
--target-directory=DIRECTORYmove all SOURCE arguments into DIRECTORY,
即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
文件改名:
mv 原文件(目录)名 新的文件(目录)名。
文件移动:
mv 原文件 新目录
6.du
du,df du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘
空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况
- 查看当前目录以及子目录的大小:
[root@hadoop02 zyl]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 5.9G 12G 35% /
devtmpfs 681M 0 681M 0% /dev
tmpfs 697M 0 697M 0% /dev/shm
tmpfs 697M 17M 680M 3% /run
tmpfs 697M 0 697M 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 140M 12K 140M 1% /run/user/42
tmpfs 140M 0 140M 0% /run/user/1001
- 查看整个磁盘大小
[root@hadoop02 zyl]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 5.9G 12G 35% /
devtmpfs 681M 0 681M 0% /dev
tmpfs 697M 0 697M 0% /dev/shm
tmpfs 697M 17M 680M 3% /run
tmpfs 697M 0 697M 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 140M 12K 140M 1% /run/user/42
tmpfs 140M 0 140M 0% /run/user/1001
7.cat
cat主要有三大功能:
1.显示整个文件
2.创建一个文件 cat > filename
3.合并文件 cat file1 file2 > file
- -n
开始对所有输出的行数编号
- -b
和 -n 相似,只不过对于空白行不编号
- -s
当遇到有连续两行以上的空白行,就代换为一行的空白行
8.more/less
more,less这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面
,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件
临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。
- -+n
从笫n行开始显示-n 定义屏幕大小为n行+/pattern 在每个档案显示前搜寻该字
串(pattern),然后从该字串前两行之后开始显示
- -c
从顶部清屏,然后显示-
- -d
提示“Press space
to continue,’q’ to quit(按空格键继续,按q键退出)”
- -I
禁用响铃功能
less
ess 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法
向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
用法示例:
less 选项 文件名
- -b
设置缓冲区的大小
- -e
当文件显示结束后,自动离开
- -f
强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g
只标志最后搜索的关键词
- -i
略搜索时的大小写
- -m
显示类似more命令的百分比
- -N
示每行的行号
- -o
将less 输出的内容在指定文件中保存起来
- -Q
不使用警告音
- -s
显示连续空行为一行
- -S
行过长时间将超出部分舍弃
9.tail
用于用于查看文件内容
- -f
查看实时增长文件内容,一般用于服务日志查看
- -n 200
查看多少行文件内容
10. pwd
定位当前目录位置
11.grep
用于查找文件中符合字符串的哪行
- -a
将 binary 文件以 text 文件的方式搜寻数据
- -c
计算找到 '搜寻字符串' 的次数
- -i
忽略大小写的不同,所以大小写视为相同
- -n
输出行号
- -v
反向选择亦即显示出没有 '搜寻字符串' 内容的那一行!
用法示例:
查找st字段内容,并输出行号
grep -n st text.c
根据文件内容递归查找目录
grep ‘energywise’ * #在当前目录搜索带'energywise'行的文件
grep -r ‘energywise’ * #在当前目录及其子目录下搜索'energywise'行的文件
grep -l -r ‘energywise’ * #在当前目录及其子目录下搜索'energywise'行的文件,但是不
行,只显示匹配的文件
12.find
find -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中
find -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件
find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件
find -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件
查找并显示文件
find /home/lijiajia/ -name 'elm.cc' -ls #在目录下查找名为“elm.cc”的文件,并显示这些文
件的信息
三、 用户管理和权限
1.whoami
命令用户查看当前系统当前账号的用户名
yongliang@ZYL-PC:~$ whoami
yongliang
2.who
who命令用于查看当前所有登录系统的用户信息
选项 | 含义 |
---|---|
-m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
-q或--count | 只显示用户的登录账号和登录用户的数量 |
-u | 在登录时间后显示该用户最后一次操作到当前的时间间隔 |
-u或--heading | 显示列标题 |
3.exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
注释:远程登入命令:ssh 用户名@ip地址
如果是切换后的登陆用户,退出则返回上一个登陆账号。
4.useradd
新建用户账号,unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd -m
参数 | 含义 |
---|---|
-d | 指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录 |
-m | 自动建立目录 |
-g | 指定组名称 |
说明:
1.Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
2.每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
3.用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
4.如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
命令 | 含义 |
---|---|
useradd -d /home/abc abc -m 或 useradd - abc -m | 创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组 |
ueradd -d /home/a a -g test -m 或 useradd a -g test -m | 创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组 |
cat /etc/passwd | 查看系统当前用户名 |
5.passwd
设置用户密码:passwd [用户名]
6.userdel
删除用户
命令 | 含义 |
---|---|
userdel abc(用户名) | 除abc用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) | 删除用户,同时删除用户的主目录 |
7.su
常用:su - 普通用户,以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
命令 | 含义 |
---|---|
su | 切换到root用户 |
su root | 切换到root用户 |
su - | 切换到root用户,同时切换目录到/root |
su - root | 切换到root用户,同时切换目录到/root |
su 普通用户 | 切换到普通用户 |
u - 普通用户 | 切换到普通用户,同时切换普通用户所在的目录 |
8.groupadd、groupdel
使用用法:
groupadd 新建组账号
groupdel删除 组账号
cat /etc/group 查看用户组
9.usermod
使用方法:
usermod -g 目标用户组 当前用户名
10.chmod
chmod 修改文件权限有两种使用格式:字母法与数字法
chmod u/g/o/a +/-/= rwx
参数 | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | roup 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
字母|说明
r| 读取权限,数字代号为 "4"
w|写入权限,数字代号为 "2"
x|执行权限,数字代号为 "1"
-|不具任何权限,数字代号为 "0"
chmod 751 file:
文件所有者:读、写、执行权限
同组用户:读、执行的权限
其它用户:执行的权限
11.chown
修改文件所有者
使用方法:
chown -R 用户名:用户组 文件目录或文件
12 chgrp
修改文件所属组
使用方法:
chgrp 用户组 文件夹或目录名
四、系统管理
1.hostname
查看主机名
hostname
2.top
动态显示当前耗费资源的进程信息
3. ps -aux|grep java
查看某个进程信息
yongliang@ZYL-PC:~$ ps -aux|grep java
yonglia+ 26929 0.0 0.0 14804 1208 pts/1 S 16:48 0:00 grep --color=auto java
3.kill -9 pid
杀死某个进程
五、Linux增加yum源
[以下针对ubuntu系统]
1.备份原有源文件
yongliang@ZYL-PC:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.编辑源文件列表[管理员身份运行]
yongliang@ZYL-PC:~$ sudo vim /etc/apt/sources.list
将原文件删除,替换内容如下
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
3.更新源
执行如下命令,更新源
yongliang@ZYL-PC:~$ sudo apt-get update
yongliang@ZYL-PC:~$ sudo apt-get upgrade
[以下针对Centos系统]
1.Yum 源备份
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakup
2.下载阿里镜像文件
Centos 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
Centos 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.缓存镜像
yum makecache