Linux基本操作

linux基本操作建立在基本命令的基础上,下面总结的这些操作都是我平时工作中经常用到的操作,这只是我的个人
情况,命令的选项很多,所以命令的用法肯定不全面.如果对命令不熟悉,可以通过查看命令的帮助文档快速查看用法
格式:  man 命令
      info 命令
      命令 -h 或者 --help
1. 上传下载文件 (secureCRT)

rz -be #上传文件到服务器
sz #从服务器下载文件到本地

2. 目录操作

cd, mkdir, rmdir, rm, cp, mv,basedir,basename

cd /etc #进入/etc目录
mkdir video #创建video文件夹
rmdir video #移除空白目录video, 使用的条件就是要删除目录必须是空的
rm -rf video #强制删除移除文件或目录,即使不是空的也可以删除
cp -r /home/webdev/aa . #复制/home/webdev目录到当前目录 -r 递归复制
mv /export/aa . #移动目录到当前目录 .标识当前目录 …标识上级目录
dirname /export/aa/aa.txt #仅显示目录相关,文件名会省略
basename /export/aa/aa.txt #仅显示文件相关,目录省略

3. 文件操作

touch,vi,cat,more,less,echo,head,tail,tailf,grep,tac,wc,chown,chmod,chgrp

touch aa.txt #创建aa.txt文件
vi aa.txt #编辑aa.txt vi也可以创建文件,vi一个不存在的文件便回新建这个文件
cat aa.txt #打印输出aa.txt的内容,如果多余一个屏幕,则会滚屏输出
more aa.txt #查看aa.txt的内容,如果内容多余屏幕,会分屏显示 q退出
less aa.txt #查看aa.txt的内容,比more更强大的地方在于可以往前翻看,q退出
echo $PS1 # 打印PS1变量
head -n 50 aa.txt #从头部开始显示文件的前五十行 默认为10行
tail -n 20 aa.txt #显示文件尾部的20行 默认为10行
tailf aa.txt #当aa.txt文件尾部有新内容时,显示在控制台上,同 tail -f 的区别是在文件有变化时才会去访问磁盘
grep “ccc” aa.txt #在aa.txt文件中搜索单词ccc,并显示那一行
tac aa.txt #同cat正好相反,倒序输出,但是单位为行,即从最后一行开始显示
cat aa.txt | wc -l 统计有多少行,-l 行 -w 单词数 b 字节数
chown webdev:webdev aa.txt # 设置aa.txt给webdev组的webdev用户,此命令执行需要root权限
chmod +x aa.txt # 给aa.txt的用户属主,用户组,其他用户授予执行权限,也需要root权限
chgrp webdev aa.txt #aa.txt文件被授予给webdev组

4. 用户和用户组操作

useradd usermod userdel groupadd groupmod groupdel passwd id chage

useradd jack #添加用户jack
usermod -u 777 jack #修改用户jack的id信息
userdel jack #删除用户jack 会一起把组也删掉,不带-r选项的话,不会删除用户家目录
groupadd jack #添加用户组 jack
groupmod -n jacky jack #jack组重命名为jacky
groupdel jacky #删除用户组jacky 一般不用,我测试发现,单独使用此命令会提示删除失败
passwd jack #修改jack的密码
id jack #显示用户jack的组信息
chage jack #修改用户jack的密码过期时间

5. 文档处理与解压缩

tar, zip,gzip,unzip,gunzip,scp

tar -cvzf tomcat.tar.gz export/tomcat tomcat.tar.gz #将/export/tomcat目录进行归档处理并压缩成gz格式
tar -xzvf tomcat.tar.gz #将压缩文件进行释放,注意归档压缩的时候不要使用绝对路径
gzip aa.txt #对aa.txt进行压缩
gunzip aa.txt.gz #解压
zip -r aa.txt.zip aa.txt #压缩
unzip aa.txt.zip #解压
scp /export/aa/aa.txt [email protected]:/export/ #本地推送到192.168.1.102上的/export/路径下,默认22端口

6. 别名和环境变量

alias unalias export env unset

alias ll=‘ls -al’ #为ls设置别名, 临时有效
unalias ll #卸载别名
export JAVA_HOME=’/usr/local/jdk1.8/’ #添加环境变量
env #查看所有环境变量
unset JAVA_HOME #卸载变量,在脚本中使用

7. 设置路径提示符显示绝对路径

vi /etc/profile
#添加一行 export PS1=’[\u@\h \w]$’ 保存退出
source /etc/profile

8. 添加服务开机自启动(适合于脚本)

vi /etc/rc.d/rc.local
#添加一行 su - webdev -c “cd /export/servermp_tomcat7/bin; sh startup.sh”
#yum安装的服务通常用 systemctl enable xxxxx.service 命令

9. 查看iptables防火墙开放了哪些端口

vi /etc/sysconfig/iptables

10. 设置登录提示语

vi /etc/motd #编辑欢迎语就可以了

11. 配置系统时间,时区

date #查看系统时间
date -s 11/16/2018 #设定时间是 2018年11月16日
date -s 23:23:15 #设定时分秒
date -s 11/16/2018 -s 23:20:20 #年月日时分秒一起设置
date +"%Z %z" #查看时区
timedatectl list-timezones |grep Shanghai #centos7以后对时区文件作了改动,在/etc/localtime 下,打开乱码,查看时区
timedatectl set-timezone Asia/Shanghai #修改为上海的时区

12. 查看文件类型

file aa.txt #查看文件类型,普通文件还是目录,用处不大,一般通过控制台颜色就能区分

13. 查看当前目录和用户

pwd #查看当前目录
whoami #查看当前用户

14. 配置普通用户执行root命令不需要密码

visudo #只能使用此命令编辑
#添加 webdev ALL=(ALL) ALL

webdev ALL=(ALL) NOPASSWD: ALL 保存即可

15. 域名查询

nslookup www.163.com #查询域名
dig www.lookup.com #查询域名
host www.163.com #查询域名

16. 查看当前登录用户

w #查看当前登录用户
who #查看当前登录用户
users #查看当前登录用户
last 用户登录日志
lastb 登录失败的信息

17. 计算校验文件的md5

md5sum /export/aa/aa.txt #计算aa.txt文件的md5值 只比较内容,文件名可以不同

18. 磁盘分区,挂载,卸载

fdisk mount umount mkfs.ext4
如果是真实物理机或者云主机这种,可以通过添加硬盘来扩容,像虚拟机这种,需要在虚拟机的配置选项中添加一个硬盘,然后重启.如果重启之后使用fdisk -l可以查看到新添加的硬盘,一般是sdb,然后就可以进行分区,创建文件系统,挂载使用了.

fdisk -l #查看各个分区情况
mkfs.ext4 /dev/sdb #创建文件系统
mount -t ext4 /dev/sdb /mnt #挂载到/mnt目录下
df -h #查看各个分区磁盘占用情况,能看到之前新设备则说明成功

19. 查看机器负载 磁盘,网络,cpu,内存

top uptime free vmstat iostat ifstat mpstat

top #查看当前系统运行状态
uptime #查看系统运行了多久
free #查看系统内存情况
vmstat 2 5 #虚拟内存统计,每两秒一次,一共统计5次
mpstat 2 5 #cpu信息统计,每两秒一次,共5次
iostat 2 5 #统计cpu和磁盘io的情况
ifstat -a # 监控所有网络接口

20. 查看网络信息

ss ifconfig traceroute ip ifup ifdown route arp netstat nc wget nmap tcpdump

ss -l #ss命令显示socket状态, -l列出当前监听端口
ifconfig #查看当前网络状态 ifconfig -a 查看主机所有网络接口
ip route show #列出路由表条目 ip是替代ifconfig的命令,且功能更强大
ifup eth0 #激活指定网卡
ifdown eth0 && ifup eth0#关闭指定网卡并激活 一定要连在一起使用,不然关闭了就启动不起来了
route -n #查看路由表 netstat -rn 也可以
route del default gw 10.0.0.254 #删除默认网关
route add default gw 10.0.0.254 #添加默认网关
arp -a #显示arp表
netstat -ano| grep 8080 #查看监听8080的进程
nc -v -w 2 192.168.2.34 -z 21-24 #端口扫描
wget url #网络下载文件,安装软件时常用
nmap -lntp --inet #查看ipv4端口上的tcp的监听
tcpdump 监视网络数据包 可用来抓包,与wireshark 搭配使用
traceroute www.baidu.com #网络数据跟踪

21. 查看主机信息,查看,修改主机名,修改hosts文件

uname -a #查看主机信息,包括主机名,内核,版本等信息
hostname #查看主机名
vi /etc/hostname #修改主机名 或者 hostname 主机名 临时修改
vi /etc/hosts # 修改hosts文件 reboot 重启机器永久生效
vi /etc/sysconfig/network #修改主机名 永久生效

22.linux查看公网ip

curl ifconfig.me
curl cip.cc

23. linux配置修改dns

vi /etc/resolv.conf #编辑dns设置
#清理dns缓存
/etc/init.d/nscd restart #使用nscd服务来清理dns缓存,若没有,则使用yum install nscd安装

24. 配置网卡地址

setup #第一种方式 使用图形界面
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #第二种方式: 编辑网卡配置文件

25. 配置定时任务

crontab和crond的关系.crontab是命令,用来调用crond服务.定时任务有两种,一种是系统自身的,不用我们管,另一种是用户自己的,我们用的都是第二种

crontab -e #编辑定时任务 对应的位置:/var/spool/cron/$user
*/5 * * * * * /bin/sh ~/run.sh #每五分钟执行一次用户目录下的run.sh脚本

你可能感兴趣的:(linux)