Hpdoger's Blog.

linux基本使用

Word count: 1,653 / Reading time: 7 min
2018/07/23 Share

写在前面

参加了一个小组内的awd,体验感极差,上来被人抓着phpmyadmin改了密码,无限被check,非root用户我不会改mysql密码(其实当时是没意识到),在查linux文件、编辑、复制过程中一度出现命令忘记。。在这篇持续记录一下自己使用的centos7的命令吧。。

用户和组

查看自己的用户名

1
whoami

增加一个test组

1
groupadd test

删除一个test组

1
groupdel test2

查看当前用户所在的组

1
gours

查看所有组

1
cat /etc/group

添加用户(参考帮助文档进行用户配置)

1
useradd -g test -m  hpdoger #添加hpdoger到test组并创建用户目录(要先创建test组)

具体参考 useradd -help

若想创建不能登陆的用户

1
useradd -g test2 -M -s /sbin/nologin hpdoger #添加hpdoger到test组不创建用户目录,并且不可用于登录

修改hpdoger用户密码

1
passwd hpdoger

切记,创建完用户要修改密码,否则用户不能登陆

普通账号与root的切换

root切换为普通: login -f hpdoger
普通切换成root权限: su # 然后输入密码

端口类命令

查看端口

我的centos7把firewall给ban了,那么查看端口的命令我用的是这个:
[root@vultr ~]# netstat -lnp

开放/关闭端口监听:

我用ncat进行监听,监听命令:
nc -l -p 8888 -vvv

停止监听:
ctrl + c

注意ctrl + z并不是停止,而是退出当前监听命令界面,仍然在执行监听

文件类命令

进入目录

1
2
3
cd /home # into dir named home
cd ../ # into superior dir
cd - # into last dir which u are from

创建/删除目录

1
2
mkdir ilove # make dir named ilove
rm -rf ilove # delete dir named ilove

显示当前路径

1
pwd

复制目录

1
cp -a /root/ilove/ifuck /root # 第一个为原目录地址,第二个为新目录父级目录地址

原目录地址必须为绝对路径

新建/打开/删除文件

1
vi filename # 创建了一个叫filename的文件了,如果存在就打开了。

进入插入模式,按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

当处于vi编辑模式时,想要退出的话按esc后输入冒号然后再输入wq,就能退出并保存。
linux 不区分文本和二进制,不需要文件名有txt。

1
rm -f filename # 删除文件

vi的基本操作

操作 解析
i 进入编辑文本模式
Esc 退出编辑文本模式
:w 保存当前修改
:q 不保存退出vi
:wq 保存当前修改并退出vi

查看当前文件内容

1
cat /root/ilove/filename # 查看相应目录的文件内容

查询类相关命令

find语句的用法

语句 解析
find / -name file1 从 ‘/’ 开始进入根文件系统查找文件和目录
find / -user user1 查找属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件
find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件
locate *.ps 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’ 在当前目录及其子目录的常规文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’ 在当前目录中查找 ‘expr’

前几天做题py到了一个很牛逼的查询flag的find用法,先看一下语句:

1
find / -iname "flag*" 2>/dev/null

寻找可写目录

1
find / -type d -writable 2>/dev/null | grep -v -P '(^/proc)|(^/dev)'

寻找可写文件

1
find / -type f -writable 2>/dev/null | grep -v -P '(^/proc)|(^/dev)'

寻找最近20分钟内修改的文件

1
find /var/www/html -mmin -20 -type f -print

补一下相关知识

/dev/null
在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。在程序员行话,尤其是Unix行话中,/dev/null被称为比特桶[2]或者黑洞。

数据流重定向
操作符 | 解析
—— | —-
1> | 以覆盖的方法将“正确的数据”输出到指定的文件或设备上
1>> | 以累加的方法将“正确的数据”输出到指定的文件或设备上
2> | 以覆盖的方法将“错误的数据”输出到指定的文件或设备上;
2>> | 以累加的方法将“错误的数据”输出到指定的文件或设备上;

所以这句话的意思就是搜索所有文件名包含flag字段的文件,并把错误的搜索项以覆盖的方式丢弃到/dev/null

文本内容查找

命令 解析
grep str /tmp/test 在文件 ‘/tmp/test’ 中查找 “str”
grep ^str /tmp/test 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行
grep [0-9] /tmp/test 查找 ‘/tmp/test’ 文件中所有包含数字的行
grep str -r /tmp/* 在目录 ‘/tmp’ 及其子目录中查找 “str”
diff file1 file2 找出两个文件的不同处
sdiff file1 file2 以对比的方式显示两个文件的不同

权限类相关

修改上传目录权限

linux 修改某目录下所有所有子目录权限

1
chmod -R 777 html

修改某目录为任何用户都用写读执行权限

1
chmod a+rwx html

显示进程

1
ps -ef # 列出所有进程信息,包括pid

杀死进程

1
kill [option] pid

选项 -9 会强行终止进程

系统相关

关机/重启

1
2
shutdown -h now # 关机
shutdown -r now # 重启

查看Ip

1
ifconfig

查看参考手册(例如arpspoof 命令)

1
man arpspoof

linux中的&&和&,|和||

1
2
3
4
5
6
7
&  表示任务在后台执行,如要在后台运行redis-server,则有  redis-server &

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2'

| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l

|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"

写在最后

目前接触到的有这些,还有很多命令没接触到,日后一并记录到此。已知的,chomd目前还没有记载

相关链接

linux添加用户,用户组(centos7)
【Linux】CentOS7 常用命令集合

CATALOG
  1. 1. 写在前面
  2. 2. 用户和组
    1. 2.1. 查看自己的用户名
    2. 2.2. 增加一个test组
    3. 2.3. 删除一个test组
    4. 2.4. 查看当前用户所在的组
    5. 2.5. 查看所有组
    6. 2.6. 添加用户(参考帮助文档进行用户配置)
    7. 2.7. 修改hpdoger用户密码
    8. 2.8. 普通账号与root的切换
  3. 3. 端口类命令
    1. 3.1. 查看端口
    2. 3.2. 开放/关闭端口监听:
  4. 4. 文件类命令
    1. 4.1. 进入目录
    2. 4.2. 创建/删除目录
    3. 4.3. 显示当前路径
    4. 4.4. 复制目录
    5. 4.5. 新建/打开/删除文件
    6. 4.6. 查看当前文件内容
  5. 5. 查询类相关命令
    1. 5.1. find语句的用法
    2. 5.2. 寻找可写目录
    3. 5.3. 寻找可写文件
    4. 5.4. 寻找最近20分钟内修改的文件
    5. 5.5. 补一下相关知识
    6. 5.6. 文本内容查找
  6. 6. 权限类相关
    1. 6.1. 修改上传目录权限
    2. 6.2. 显示进程
    3. 6.3. 杀死进程
  7. 7. 系统相关
    1. 7.1. 关机/重启
    2. 7.2. 查看Ip
    3. 7.3. 查看参考手册(例如arpspoof 命令)
    4. 7.4. linux中的&&和&,|和||
  8. 8. 写在最后
  9. 9. 相关链接