写在前面
本文主要内容为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.conf
head -7 /test/yum.conf
显示文件的后几行
tail -n 3 /test/yum.conf
tail -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
,P
p
为将已复制内容在光标下一行贴上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/Username
x
代表允许登录,并且密码在/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
:停止系统运行。相当于halt
6
:重启系统。相当于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