linux基本操作建立在基本命令的基础上,下面总结的这些操作都是我平时工作中经常用到的操作,这只是我的个人
情况,命令的选项很多,所以命令的用法肯定不全面.如果对命令不熟悉,可以通过查看命令的帮助文档快速查看用法
格式: man 命令
info 命令
命令 -h 或者 --help
rz -be #上传文件到服务器
sz #从服务器下载文件到本地
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 #仅显示文件相关,目录省略
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组
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的密码过期时间
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端口
alias unalias export env unset
alias ll=‘ls -al’ #为ls设置别名, 临时有效
unalias ll #卸载别名
export JAVA_HOME=’/usr/local/jdk1.8/’ #添加环境变量
env #查看所有环境变量
unset JAVA_HOME #卸载变量,在脚本中使用
vi /etc/profile
#添加一行 export PS1=’[\u@\h \w]$’ 保存退出
source /etc/profile
vi /etc/rc.d/rc.local
#添加一行 su - webdev -c “cd /export/servermp_tomcat7/bin; sh startup.sh”
#yum安装的服务通常用 systemctl enable xxxxx.service 命令
vi /etc/sysconfig/iptables
vi /etc/motd #编辑欢迎语就可以了
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 #修改为上海的时区
file aa.txt #查看文件类型,普通文件还是目录,用处不大,一般通过控制台颜色就能区分
pwd #查看当前目录
whoami #查看当前用户
visudo #只能使用此命令编辑
#添加 webdev ALL=(ALL) ALLwebdev ALL=(ALL) NOPASSWD: ALL 保存即可
nslookup www.163.com #查询域名
dig www.lookup.com #查询域名
host www.163.com #查询域名
w #查看当前登录用户
who #查看当前登录用户
users #查看当前登录用户
last 用户登录日志
lastb 登录失败的信息
md5sum /export/aa/aa.txt #计算aa.txt文件的md5值 只比较内容,文件名可以不同
fdisk mount umount mkfs.ext4
如果是真实物理机或者云主机这种,可以通过添加硬盘来扩容,像虚拟机这种,需要在虚拟机的配置选项中添加一个硬盘,然后重启.如果重启之后使用fdisk -l可以查看到新添加的硬盘,一般是sdb,然后就可以进行分区,创建文件系统,挂载使用了.
fdisk -l #查看各个分区情况
mkfs.ext4 /dev/sdb #创建文件系统
mount -t ext4 /dev/sdb /mnt #挂载到/mnt目录下
df -h #查看各个分区磁盘占用情况,能看到之前新设备则说明成功
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 # 监控所有网络接口
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 #网络数据跟踪
uname -a #查看主机信息,包括主机名,内核,版本等信息
hostname #查看主机名
vi /etc/hostname #修改主机名 或者 hostname 主机名 临时修改
vi /etc/hosts # 修改hosts文件 reboot 重启机器永久生效
vi /etc/sysconfig/network #修改主机名 永久生效
curl ifconfig.me
curl cip.cc
vi /etc/resolv.conf #编辑dns设置
#清理dns缓存
/etc/init.d/nscd restart #使用nscd服务来清理dns缓存,若没有,则使用yum install nscd安装
setup #第一种方式 使用图形界面
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #第二种方式: 编辑网卡配置文件
crontab和crond的关系.crontab是命令,用来调用crond服务.定时任务有两种,一种是系统自身的,不用我们管,另一种是用户自己的,我们用的都是第二种
crontab -e #编辑定时任务 对应的位置:/var/spool/cron/$user
*/5 * * * * * /bin/sh ~/run.sh #每五分钟执行一次用户目录下的run.sh脚本