Linux基础
Posted luckyness
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础相关的知识,希望对你有一定的参考价值。
设置文本格式
修改文件编码格式
tail -f 和 -F的区别
同步集群时间
配置ssh免登陆
echo的快速向文件写入信息
whereis
which
Crontab定时任务
实时查看文件如日志信息
网络端口监听
系统服务管理
配置后台服务进程的开机自启
配置hosts 域名映射
创建文件夹目录
安装jdk配置环境变量
虚拟机克隆
配置本地yum源
yum -y install lrzsz
设置文本格式
set fileformat 查看
set fileformat unix 设置为linux
修改文件编码格式
vi下
set fileencoding 查看
set fileencoding
tail -f 和 -F的区别
tail -f 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf 等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电
同步集群时间
常用的手动进行时间的同步
date -s "2017-03-03 03:03:03"
或者网络同步:
yum install ntpdate
ntpdate cn.pool.ntp.org
配置ssh免登陆
#生成ssh免登陆密钥
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id node-2
echo的快速向文件写入信息
echo 1111 > access.log
whereis
whereis 命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位
置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
whereis 和下 locate 一样,会从数据库中查找数据,而不是像 find 命令那 样,通过遍历硬盘来查找。
使用实例:
whereis ls 将和 ls 文件相关的文件都查找出来
ls: /bin/ls /usr/share/man/man1/ls.1.gz
whereis -m ls 查找 ls
命令说明文档路径
whereis -s ls 查找 ls 源文件
which
which 命令的作用是在 PATH 变量指定的路径中,搜索某个系统命令的位置,
并且返回第一个搜索结果。
使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪 一个位置的命令。
使用实例:
which pwd 查找 pwd 命令所在路径
/bin/pwd
which java 查找 path 中 java 的路径
/root/apps/jdk1.8.0_65/bin/java
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档,所以, 不同的 PATH 配置内容所找到的命令会不一样。
Crontab定时任务
1.crontab安装
crontab 是 Unix 和 Linux 用于设置周期性被执行的指令。通过 crontab 命
令,可以在固定间隔时间执行指定的系统指令或 shell 脚本。时间间隔的单位可 以是分钟、小时、日、月、周及以上的任意组合。
crontab 安装:
yum install crontabs
服务操作说明:
service crond start ## 启动服务
service crond stop ## 关闭服务
service crond restart ## 重启服务
service crond reload ## 重新载入配置
service crond status ## 查看 crontab 服务状态:
chkconfig crond --list ## 查看 crontab 服务是否已设置为开机启动
chkconfig crond on ## 加入开机自动启动
2.命令格式
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
参数说明:
-u user:用来设定某个用户的 crontab 服务
file:file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件 并载入 crontab。
-e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前 用户的 crontab 文件。
-l:显示某个用户的 crontab 文件内容。如果不指定用户,则表示显示当前 用户的 crontab 文件内容。
-r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab
文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i:在删除用户的 crontab 文件时给确认提示。
命令示例:
crontab file [-u user] ## 用指定的文件替代目前的 crontab。
crontab -l [-u user] ## 列出用户目前的 crontab. crontab -e [-u user] ## 编辑用户目前的
crontab.
3.配置说明、实例
* * * * * command
分 时 日 月 周 命令
第 1 列表示分钟 1~59 每分钟用*或者 */1 表示
第 2 列表示小时 0~23(0 表示 0 点)
第 3 列表示日期 1~31
第 4 列表示月份 1~12
第 5 列标识号星期 0~6(0 表示星期天) 第 6 列要运行的命令
配置实例:
/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。
* 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
晚上 11 点到早上 7 点之间,每隔一小时重启 apache
实时查看文件如日志信息
tail -F date.txt 实时监视这个文件
网络端口监听
netstat 是一款命令行工具,用于列出系统上所有的网络 socket 连接情况,
包括 tcp, udp 以及 unix socket,另外它还能列出处于监听状态(即等待接入 请求)的 socket。如想确认 Web 服务有没有起来,可查看 80 端口有没有打开。 示例:
常见参数:
-a (all)显示所有选项,默认不显示 LISTEN 相关
-t (tcp)仅显示 tcp 相关选项
-u (udp)仅显示 udp 相关选项
-n 禁用域名反向解析功能,只显示 ip
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的进程信息
-ep 可以同时查看进程名和用户名
netstat –nlpt 获取进程名、进程号以及用户 ID
查找已启动的服务 端口及pid 可以kill-9杀进程
netstat -antup | grep 13870
系统服务管理
service --status-all 查看系统所有后台服务进程
service XXX sttus 查看制定服务进程状态
service sshd stop 开启指定服务
service sshd start 停止指定服务
service sshd restart 重启指定服务
配置后台服务进程的开机自启
chkconfig httpd on ## 让 httpd 服务开机自启
chkconfig httpd off ## 让 httpd 服务开机不要自启
chkconfig httpd --list ## 查看httpd的状态
配置hosts 域名映射
vi /etc/hosts
ip 机器名
创建文件夹目录
mkdir -p /export/servers
这里的-p是父目录不存在自动创建
安装jdk配置环境变量
环境变量文件
vi /etc/profile
vi编辑下 按Go 跳到文件底部 添加
export JAVA_HOME=/root/apps/jdk1.8.0_65 这是你jdk在哪胡总的路径
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
shift+zz 快速退出保存
重新加载配置文件
source /etc/profile
这时java -version 查看jdk版本号
虚拟机克隆
- 关闭要克隆的虚拟机
- 右键管理 克隆
- 开机前 修改克隆后的虚拟机的mac地址
- 明确要修改 ip 主机名 mac地址
修改主机名
vi /etc/sysconfig/network
修改HOSTNAME
修改mac地址
删除 开机根据配置生成的mac地址 文件 这样下次开机自动生成了
rm -rf /etc/udev/rules.d/70-persistent-net.rules
修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改ip地址 修改mac地址或者删除掉mac地址
配置本地yum源
1、挂载 iso 镜像(将iso文件上传至虚拟机),拷贝所有文件至本地 yum 目录
mkdir /dev/centios /mnt/local_yum
mount -o loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /dev/centios cp -r /dev/centios/*
/mnt/local_yum/
2、修改 yum 源配置
cd /etc/yum.repos.d/
rename .repo .repo.bak *.repo
cp CentOS-Base.repo.bak CentOS-Local.repo
vi CentOS-Local.repo
[local_yum]
name=This is a local repo
baseurl=file:///mnt/local_yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、更新 yum 配置
yum clean all
yum repolist all
以上是关于Linux基础的主要内容,如果未能解决你的问题,请参考以下文章