Linux实践

系统:CentOS6.5

12、yum下载

#将一个包下载到一个指定的目录(如/tmp):
yum install --downloadonly --downloaddir=/tmp <package-name>
#但是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项
yum install yum-plugin-downloadonly
#说明:如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。已经通过yum安装过的包,使用这个命令得不到下载

11、Linux上ftp操作

ftp
open ip port
name
password
passive    #输入这条命令后,其他命令才会生效
bin #输入这条命令后下载的包才可用
ls
get
bye

10、ctrl+c终止不了telnet

ctrl + ]
quit

9、linux硬连接与软连接

ln -s 文件路径 软连接路径
ln 文件路径 硬连接路径
#相同点:都是一个文件,修改的都会同步到源文件
#不同点:删除软连接源文件,软连接失效;删除硬连接或者删除源文件,文件已经存在,除非把源文件和所有的硬连接全部删除
#理解:软连接-快捷方式;    硬连接-又一个文件路径,把所有的路径都删除了,源文件就删除了

8、配置SSH免密登录

root用户的SSH免密登录

ssh-keygen -t rsa    //三次回车生成公私匙文件
cd  /root/.ssh  //进入.ssh文件夹
cat id_rsa.pub >> authorized_keys  //复制公匙到authorized_keys
scp /root/.ssh/authorized_keys [email protected]:/root/.ssh/    //scp到指定服务器
ssh hostname //成功无密码登录指定服务器即成功
//要免密登录某一台服务器,把自己公匙scp到那台服务器就可以了

非root用户的SSH免密登录

ssh-keygen -t rsa    //三次回车生成公私匙文件
cd  ~/.ssh  //进入.ssh文件夹
cat id_rsa.pub >> authorized_keys  //复制公匙到authorized_keys
scp ~/.ssh/authorized_keys [email protected]:~/.ssh/    //scp到指定服务器用户目录下的.ssh文件夹
chmod 700 ~/.ssh  //更改权限

chmod 600 authorized_keys

ssh hostname //成功无密码登录指定服务器即成功

7、修改Hostname

hostname newHostname  //临时生效
vi /etc/sysconfig/network   //重启后生效
//两者同时使用就满足马上生效并永久修改

6、编写定时脚本,定时删除文件

//A、编写shell脚本,新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限
#touch /opt/soft/bin/auto-del-30-days-ago-log.sh
#chmod +x auto-del-30-days-ago-log.sh
#vi auto-del-30-days-ago-log.sh
#!/bin/sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
//B、加入系统计划任务中
#crontab -e
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
//C、通过crontab –e来创建自己的定时任务,5个*的含义是,第一个*是分,第二个*是小时,第三个*是日,第4个*是月,第5个*是周,第6列是命令
service crond status 查看crontab服务状态:
service crond start 启动服务
service crond stop 关闭服务
service crond restart重启服务
service crond reload 重新载入配置
//-mtime n 按照文件的更改时间来找文件,n为整数。
//D、说明
/*n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前。
-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
为什么-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间48小时之外的文件,而不是24小时之外的呢?
因为n值只能是整数,即比1大的最近的整数是2,所有-mtime+1不是比当前时间大于1天(24小时),而是比当前时间大于2天(48小时)
find /opt/soft/bin/ -mtime +2 -name ".log" -exec rm -rf {} \;  //清理命令 后面的;不可丢
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/bin/:想要进行清理的任意目录;
-mtime:最后修改内容时间
+30:查找30天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件
-exec:固定写法,执行;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;*/ 

5、基本权限操作

ls -l(或者直接ll) filename  #ls -ld directoryname   //查看详细信息包含权限
r w x 读 写 执行 对应 4 2 1
chmod +x a.sh  #chmod -x a.sh  //增加删除执行权限
chmod 666(4+2) filename  #chmod 777(4+2+1) filename  //一般文件644,目录755
//三个数按顺序分别对应所有者,用户组,其他人。例如755标识所有者读写执行(4+2+1),所有者所在用户组的用户读执行(4+1),其他人读执行(4+1)

4、后台运行与输出日志

nohup XXX &  //后台运行
command >server.log  == command 1 >server.log  //标准输出
command >server.log 2>&1   //标准错误重定向到标准输出。就是标准错误和标准输出都重定向到一个server.log,不覆盖
// 0-标准输入 1-标准输出 2-标准错误

3、参数查看

free -g //查看内存,G为单位df -h //查看硬盘
top  //查看内存,细一些,类似windows任务管理器 再按shift+m根据内存从大到小排序

2、根据文件名查找文件

find / -name httpd.conf  //在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf  //在/etc目录下文件httpd.conf
find /etc -name ‘*srm*‘ //使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name ‘srm*‘   //表示当前目录下查找文件名开头是字符串‘srm’的文件

1、防火墙(root权限,两者结合就是立即生效,永久修改)

临时关闭防火墙,立即生效,重启后失效

service iptables start  //开启
service iptables stop  //关闭
service iptables status  //查看防火墙状态

永久关闭防火墙,重启后生效

chkconfig iptables on  //永久开启,重启后生效
chkconfig iptables off  //永久关闭,重启后生效


原文地址:https://www.cnblogs.com/ggblog/p/8992149.html

时间: 2024-08-30 16:37:12

Linux实践的相关文章

linux实践之程序破解

linux实践之程序破解 这次的实践是文件破解,让我们从login可执行文件开始吧! 首先我们执行一下这个可执行程序 ①我们希望在不知道密码的情况下,能够登陆进去.且无论密码是什么,都是提示“on your command,my master!”. 首先对该程序执行反汇编. 我们首先要找到main函数的入口处. 我们可以看到cmp语句后,有jmp语句,如果不等于就跳转到“0x8048466”处,这是正常程序执行的过程,我们在这里希望不等于的时候,也不要跳转,所以可以把“75 0e”修改为“75

linux实践之ELF文件分析

linux实践之ELF文件分析 下面开始elf文件的分析. 我们首先编写一个简单的C代码. 编译链接生成可执行文件. 首先,查看scn15elf.o文件的详细信息. 以16进制形式查看scn15elf.o文件. 查看scn15elf.o中各个段和符号表的信息. 各个段的详细信息如下. 符号表的信息如下: 使用readelf命令查看各个段的详细信息: 段表信息如下: 符号表信息如下: 下面让我们开始分析文件头吧! 由于我的虚拟机是32位的,我下面就主要以32位的系统进行分析,就不比较32位机和64

【实践报告】Linux实践三

Linux实践——程序破解 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.(机器码:90) JNE:条件转移指令,如果不相等则跳转.(机器码:75) JE:条件转移指令,如果相等则跳转.(机器码:74) JMP:无条件转移指令.段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp near(机器码:E9)段内间接转移Jmp word(机器码:

Memcached+PHP+Mysql+Linux 实践

首先确保你的服务器环境已经具备了memcached和lamp,关于在Linux上搭建memcahced+php环境可以参考我的另外一篇帖子( http://www.cnblogs.com/codeAB/p/5591118.html )在往下看之前你应该带着这几个疑问.{ memcached 能解决什么问题 }{ 现在比较热议的一个话题 radis替代memcached  }{ 什么情况下适合使用memcached }{ memcached基本用法 }{ 利用memcached构建分布式缓存系统

【实践报告】Linux实践四

Linux内核分析 实践四——ELF文件格式分析 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标文件)格式主要三种: 可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件) 可执行文件:文件保存着一个用来执行的程序.(例如bash,gcc等) 共享目标文件:共享库.

Tess4J Linux 实践[解决:Tess4J - Native library (linux-x86-64/libtesseract.so) not found in resource path]

[本文编写于2018年7月5日] Tess4J是Tesseract的Java JNA wrapper.本文介绍了在CentOS 7 操作系统中使用Tess4J的步骤及注意事项.在正式开始之前,先花一点篇幅,对相关的技术作一简要介绍. 一点点背景 Tesseract Tesseract 是一个著名的开源OCR引擎,支持100多种语言,可以开箱即用.还可以通过训练方式支持更多语言.Tesseract诞生于1984年,来自HP公司,2005年开源.自2006年起,由谷歌接手开发.截止目前,最新的稳定版

Linux实践一:问题及解决

安装ubuntu出现的问题 : 打开镜像.iso文件,v-box好像是不识别这种格式的,它识别的好像是.vdi等格式,所以要用vm虚拟机打开镜像安装 打开镜像,按照步骤安装后,安装很久后,出现问题.初步怀疑是读取镜像文件错误,采取措施,换了一个镜像装(当时下载的时候,有两个镜像,一个是ubuntu,ubuntulyn好像是中文和英文版的区别),后来换了一个镜像之后,还是这样,重启一下,就可以进入正常的桌面状态了 更新软件源的问题: 选择系统文件的更新选项后,在选择服务器的时候,看实践指导书,推荐

linux实践-弱密码导致服务器被黑

本人从事IT行业以6年有余,这期间曾尝试过很多方向,但基本都不做开发.最近又开始尝试做运维.接下来就说说做运维以来遇上的第一次事故. 那天下午接到研发的工作单,要求上架2个linux的服务器,只要安装好CentOS6.5操作系统,然后对外开放22端口即可.要求非常简单.很快就实现了,root密码就设置成了password.然后交付研发.之后是个愉快的周六和郁闷的周日.因为这周日我被领导通知来公司检查网络,因为公司服务器无法访问了.考验来了,我心想. 赶到公司后第一件是就是登陆防火墙判断一下是不是

linux 实践2.2 编译模块

1.  理解模块原理 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷. Linux模块可以通过静态或动态的方法加载到内核空间,静态加载是指在内核启动过程中加载:动态加载是指在内核运行的过程中随时加载. 一个模块被加载到内核中时,就成为内核代码的一部分.模块加载入系统时,系统修改内核中的符号表,将新加载的模块提供的资源和符号添加到内