Linux基础

Posted luckyness

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础相关的知识,希望对你有一定的参考价值。

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版本号

虚拟机克隆

  1. 关闭要克隆的虚拟机
  2. 右键管理 克隆
  3. 开机前 修改克隆后的虚拟机的mac地址
  4. 明确要修改 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基础的主要内容,如果未能解决你的问题,请参考以下文章

20155307刘浩《网络对抗》逆向及Bof基础

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

[vscode]--HTML代码片段(基础版,reactvuejquery)

Linux bash基础特性二

[linux][c/c++]代码片段01