linux实用操作
静态ip
vi /etc/sysconfig/network-scripts/你的网卡名字(使用ifconfig查看,第一个就是)dhcp修改为static,onboot改为yes IPADDR=192.168.1.16 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1,然后重启网路服务即可上网
服务的启动关闭与重启(centos7)
systemctl start/stop/status servername
定时服务命令
crontab -e(进入编辑定时任务脚本)
格式为 minute hour day month weekday(周几) command
例如 * * * * * /root/test.sh(每隔一分钟就会执行一次test.sh脚本,因为系统默认每隔一分钟刷新crontab,如果改成 6 18 * * * /root/test.sh则是每天18:6执行test.sh),注意如果在里面使用shell命令如rm,tar等等命令,需要使用whereis commandname 查看命令的绝对路劲,然后在使用时需要写入命令的绝对路径
如果没有执行成功,可以使用 vi /var/spool/mail/root查看日志,里面可能会有提示,我定时执行脚本时就因为忘了给脚本加执行权限,日志里就提示未授权之类的信息
at的使用: at 23:30回车后输入systemctl restart httpd然后 ctrl+d结束定时任务的编写 ,使用at -l查看任务,使用atrm id(at -l时显示的该任务的id)删除该任务
shell 编程:
[ -d/-f/-r/-w/-x/-e /etc/fstab ]直接在终端输入该条语句,表示判断是否是文件夹或者文件可读可写可执行存在[]表示判断,注意值与括号之间是有空格的,否则会报错
防火墙配置(centos7)
查看防火墙状态 : systemctl status firewalld 或者 firewall-cmd --state(状态)/--reload(重启)
firewall-cmd --panic-on启用应急模式,阻断所有网络连接 --panic-off禁用应急模式,恢复网络连接--query-panic查询应急模式状态(没有输出的话,可以在命令行后面加&& echo "on"||echo "off")
systemctl disable firewalld.service 禁止防火墙开机自启
防火墙配置文件位于/etc/sysconfig/iptables
开启3306端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
知识扩展:
echo "toor"|passwd --stdin root修改root的密码为toor
忘记root密码:在选择系统界面选中要修改的系统(我的就是默认的第一个),按e建进入修改,在修改界面一直下到文件末尾,在末尾前一行左右,找到UTF-8那一行,在这一行敲一个空格,然后打init=/bin/sh 修改完成后使用快键键ctrl+x。然后会进入一个sh-**#(**根据版本不同而不同)的界面,输入mount -o remount,rw / 然后passwd root,接着是输入密码(我试了很多次都没提示密码设置成功,百度了一下,发现只支持一个字符的密码,也就是说密码只能是一个字符,多了不行),提示有设置成功后
touch / .autorelabel (注意/左右都有一个空格),然后重启虚拟机系统就可以了
设置grub密码保护:查看grub登录用户名cat /etc/grub.d/01_users,可以看到用户名为root。通过grub2-setpasswords设置grub密码,确认密码 cat /boot/grub2/user.cfg。重启后进入grub需要用户名和密码
yum查看相关软件包:yum list all | grep ftp (列举名字包含ftp的软件包)
linux 启动流程:从BIOS开始,进入boot loader,加载内核,初始化内核,启动初始化进程
date的使用:date "+%y-%m-%d %H:%M:%S"显示该格式的时间,date -s "20170409 13:13:00"
wget的使用:wget -option url (-b:后台下载-O下载到指定目录)
ps的使用:ps -option(-a显示所有-u用户及其他详细信息-x显示没有控制终端的进程),top动态显示系统负载信息
查询进程pid:pidof sshd查询sshd的pid 杀死进程:kill pid杀死pid进程
查询系统信息:uname -n查看系统内核信息,更详细的内核信息用cat /etc/centos-release查看
查看系统运行时间uptime 查看内存使用量:free -h查看系统登录记录:last -n 5最近五次系统登录情况
随机数:echo $RANDOM 或者echo $(date +%s%N) 亦或head -n 200 /dev/urandom |cksum|cut -f1 -d " "
visudo的使用: 输入visudo回车后进入编辑窗口,找到root ALL=(ALL) ALL那行,在该行下面bp ALL=(ALL) ALL,最后一个ALL表示命令(需要是绝对路径),如:bp ALL=(ALL) /bin/cat授权bp用户能够在任何地方使用cat查看文件,例如 /etc/shadow(还需要在命令最前面加上sudo ,如sudo
cat /etc/shadow)
导出环境变量(用处:例如自己写有一个打印1到100的脚本test.sh,想像使用ls之类的系统命令运行该脚本,绝对路径为/root/kali/test.sh):
export PATH=$PATH:/root/kali/ (只需要到脚本的上一层目录即可)
现在直接输入test.sh回车,如果不能运行,输入命令source /etc/profile回车,再次尝试应该就行了
发送邮件:
方法一:
echo "this is a test from kali"|mail -s "kalimail" user1 发送主题为kalimail,内容是this is a test from kali的邮件给叫做user1的用户
方法二:
echo -s "test" user1 <a.txt 把文件a.txt的内容发给user1用户
screen会话的使用:
目标:主机B同步操作主机A屏幕
A主机:screen -S bp 创建会话
B主机: ssh ipofA 远程连接
screen -ls 列出会话列表
screen -x id / name 运行会话
怎么安装中文输入法(kali)
apt-get install fcitx fcitx-googlepinyin -y
如果左下角没有那个输入法工具栏,那么就在程序列表里面找到fcitx双击
如果能在输入法里找到谷歌拼音输入法,可是切换到拼音输入法也没办法拼音打字,那么,恭喜你,重启电脑吧
centos7 修改命令行为开机默认环境
systemctl get-default 获取当前默认环境
systemctl set-default multi-user.target 设置命令行为开机默认环境
systemctl set-fefault graphical.target 设置开机环境为图形界面
uname -a 操作系统信息
uname -r 内核查询
cat /etc/issue
cat /etc/***-release
修改终端命令行的显示PS1
首先进入家目录cd ,然后ls -a查看有没有.bashrc,如果没有就自己创建,如果有了,就末尾添加PS1="\[\e[32;40m\][\t]\$"其中红色部分就是设置颜色的意思,地一个数字是字体颜色,第二个是背景颜色,\t是显示时间,\$是根据用户觉得显示$还是#,保存退出,执行语句source .bashrc立即生效,结果如下
[02:53:02]$ls -a
. bp Downloads Pictures
.. .cache .esd_auth Public
anaconda-ks.cfg .config .ICEauthority .tcshrc
.bash_history .cshrc initial-setup-ks.cfg Templates
.bash_logout .dbus .local Videos
.bash_profile Desktop Music
.bashrc Documents original-ks.cfg
[03:01:38]$
转发80端口到8080
iptables -t nat -A PREROUTING -p tcp--dport
80
-jREDIRECT --to-port
8080
linux实用操作的更多相关文章
- 提高开发效率的 Eclipse 实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...
- python通过SSH登陆linux并操作
使用python通过SSH登陆linux并操作 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
- Linux基础操作及概念
Linux基础操作及概念 终端的概念 通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示 ...
- linux 实用指令文件目录类
目录 linux实用指令文件目录类 路径 pwd指令 cd指令 操作文件夹/文件 ls指令 mkdir rmdir touch cp(重要) rm mv 操作内容 cat more less > ...
- linux文本操作界面 vi面板如何复制一行
linux文本操作界面 vi面板如何复制一行 1)把光标移动到要复制的行上2)按yy3)把光标移动到要复制的位置4)按p 在vi里如何复制一行中间的几个字符?如果你要从光标处开始复制 4 个字符,则先 ...
- linux常用操作指令
Linux常用操作指令: 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(a ...
- Linux 下操作GPIO(两种方法,驱动和mmap)(转载)
目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据io ...
- Linux进程操作信息
Linux进程操作简单小结 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不 ...
- Linux 下操作gpio(两种方法,驱动和mmap)
目前我所知道的在linux下操作GPIO有两种方法: 1. 编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据 ...
随机推荐
- Spring Boot + Druid 监控数据库(三)
Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助. 2) 替换DBC ...
- (C/C++学习笔记) 二十二. 标准模板库
二十二. 标准模板库 ● STL基本介绍 标准模板库(STL, standard template library): C++提供的大量的函数模板(通用算法)和类模板. ※ 为什么我们一般不需要自己写 ...
- Centos7创建用户su登录后显示为 bash-4.1$
useradd name [root@localhost data]# su name bash-4.2$ [root@localhost ~]# cp -a /etc/skel/. /home/na ...
- CSS学习笔记-04 a标签-导航练习
个人练习,各位大神勿笑 .. <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- linux 下ftp几种上传和下载方式
1. ftp自动登录批量下载文件. 复制代码代码如下: #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<& ...
- 接口的鉴权&响应数据解密
前言: 1.开放的接口为了避免被别人攻击,频繁刷接口,浪费服务器资源,这就涉及到签名(Signature)加密了 2.API 使用签名方法(Signature)对接口进行鉴权(Authenticati ...
- python列举django中间件的5个请求方法
process——request:请求进来时,权限认证. process——view:路由匹配之后,能够得到试图的试图函数. process——exceptions:异常是执行. process——t ...
- 16 多校 8 Ball (贪心排序)很巧妙的思路啊~
ZZX has a sequence of boxes numbered 1,2,...,n1,2,...,n. Each box can contain at most one ball. You ...
- 什么是PT,PT和BT有什么不同?
答:PT(Private Tracker)下载其实也是Bt下载的一种,但有两个明显的改进:一是私密的小范围下载,二是进行流量统计,根据上载量决定你的权限. BT下载时,软件会分析.torrent种子文 ...
- 安卓 dex 通用脱壳技术研究(四)
/* 当第一个类执行到此函数时,我们在dvmDefineClass执行之前,也就是第一个类加载之前 注入我们的dump代码:即DumpClass()函数 */ static void ...