写在前面
本文主要内容为Linux入门向的基础知识,记录下来方便自己与他人的查询。
注:知识补充放在文末。
Linux基础
命令
开关机
重启:
reboot、init 6
关机:
shutdown、halt、poweroff、init 0
登陆:
login
注销:
exit、logout
很常用
1 | |
渗透中常用
1 | |
常用快捷键
Tab补全自动ctrl+c强行停止exit、ctrl+d退出shellctrl+l清屏(控制台记录并未清除)date时间ctrl+z后台挂起
文件组织
Linux目录管理
1 | |
常用文件位置
1 | |
文件读写操作
新建文件:touch /tmp/hello
新建文件夹:mkdir ./hello
删除文件:rm /hello.txt
删除文件夹:rm ./hello
rm -rf /* -r 删除文件夹 -f 递归删除
复制移动
cp复制文件或文件夹到指定路径mv移动文件或文件夹到指定路径
查看文件
cat显示一个文件夹内容more显示一个文件的内容
显示文件的前几行
head -n 5 /test/yum.confhead -7 /test/yum.conf
显示文件的后几行
tail -n 3 /test/yum.conftail -2 /test/yum.conf
查找文件或文件里的内容
查找文件名:
find 路径 -name 文件名
查找字符串:
grep 字符串
whereis 查找某个命令所在位置which 查找当前用户命令
系统基础命令
jobs显示当前暂停的进程(与ctrl+z配合,将一个进程停止并挂在后台)bg %N使后台第N个任务在后台运行fg %N使后台第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作
使一个程序在后台不中断地运行:
- 做成一个service
- 使用
&符号,让一个运行的进程一直在后台运行- 使用
nohup setsid做到即使shell退出后,依然能运行程序,
不中断地将任务进行并输出到nohup.out- 使用
screen- 使用
()符号,将进程加入subshell中- 其他方式
压缩包文件处理命令
Linux下压缩包格式有:
.tar、.gz、.tar.gz、.tgz、.bz2
、.tar.bz2、.bz、.tar.bz、.Z、.tar.Z、.xz、.zip、.rar
常用的压缩格式为.tar.gz和.zip
解压与压缩命令:.gz
-c:create新的包-x:解包-z:压缩方式为gzv:显示细节f:使用归档文件
.tar
解包:
tar xzvf FileName.tar解包后原始文件存在
打包:tar czvf FileName.tar filename1 filename2 ...(打包多个文件)tar czvf FileName.tar DirName(打包压缩一个目录)
.zip
解压:
unzip FileName.zip解包后原始文件依然存在
压缩:zip FileName.zip DirName
列出内容:unzip -l FileName.zip
打包的意义:提高传输速度及完整性
vim编辑器
常用命令
1 | |
底行命令
:w保存:q退出/查找shift+g转到文件末行shift+h转到文件首行ndd(n代表数字)从当前行删除n行nyy从游标所行开始复制n行x,X在一行字中,x为向后删除一个字符,X相反p,Pp为将已复制内容在光标下一行贴上u撤销操作:set nu显示行号(全名nummber):set nonu不显示行号(全名nonumber):%s/word1/word2寻找字符串word1替换为word2
用户与用户组
文件位置
1 | |
passwd文件配置
账号格式
1 | |
参数配置
nologin 此账户目前不可用,不能被切换到的账号/bin/false 登录必然报错,无法登陆/home/Username 没有的话,登陆后会报Could not chdir to homedirectory /home/Usernamex 代表允许登录,并且密码在/etc/shadow* 代表不允许登陆
Kali密码破解:1
john passwd
添加用户
环境:CentOS1
2
3
4
5useradd Username # 添加用户,但不设密码,会创建一个/home/用户名
adduser Username # 添加用户,但不设密码,会创建一个/home/用户名
passwd 修改密码
su Username 切换用户
userdel 删除用户
若在Ubuntu环境下,
adduser则会设置密码与备注等信息
权限操作
修改所属组
1 | |
权限控制
chomod 修改当前文件或文件夹权限
可以使用数组或使用字母参数:
u:userg:groupo:othera:all
exmaple:1
2
3
4
5chmod ou-r filename # user和other用户剥夺读权限
chmod g=wr,o=r # group用户赋予读写权限,其他只赋读权限
chown 用户:用户组 # 修改当前文件或文件夹所属用户
chown root:root /tmp/tmp1 # 单个文件改变文件所诉用户及组
chown -R root:root /tmp/tmp1 # 文件夹及其内部全部改变
Linux查看进程及端口信息
1 | |
补充知识
init六种运行模式
原文
基本概念:
init是Linux系统里的根进程,是系统所有进程的祖先。它的主要作用是根据记录在
/etc/inittab里的一个脚本程序产生进程。这个文件通常用于控制用户的登录模式。
Linux系统的有效登录模式有0~9共十种,不过沿用UNIX系统的至多6种的限制,一般只有1到6有效
init一般在系统启动时自动运行,也可以由root用户调用。它的作用是切换系统的运行状态。
它的命令格式是:init NUM
其中NUM表示1到6的任一数字
6种模式中有两种是系统内定的:
0:停止系统运行。相当于halt6:重启系统。相当于reboot
其余:
init 1进入单用户模式。init 2进入无网络服务的多用户模式 如果你的计算机没有对外提供网络服务,这个模式就跟普通模式一样了。init 3/4进入控制台登录的多用户模式.每个用户都要先从黑白屏幕登录之后才可以运行才能startx进入KDE图形界面。init 5进入图形化登录的多用户模式。
可以通过runlevel和who -r命令来查看当前运行的模式。
No such file or directory
./一个存在的文件,提示上述信息
原因:可能缺少32位运行库ia32-libs
解决:sudo apt-get install g++-multilib