Linux命令
这是一篇小白写的笔记☺
快捷键
pwd查看当前所在文件夹的绝对路径
ctrl+l清屏
tab键补齐内容
上下键查询之前的命令
linux的基础命令
ls
ls 查看目录 -a查看所有(包括隐藏目录) -l对所显示的文本进行列格式化 -la可连用
ll
ls -l 的缩写比较常用
cd
cd - 返回上一次的目录
cd ..返回上一级目录
cd ~ 返回家目录
cd 返回家目录
cd -P 返回真实物理链接不是虚拟
man
man ls(命令名)获取命令的具体如何运用技巧 q返回
mkdir
mkdir a(要创建的文件名)(不论.扩展名是什么linux都把它视为一个文件夹)
mkdir -p b/a(要在b文件夹中创建a文件夹)(必须加-p)
-p 在没有父文件夹的时候创建父文件夹,有父文件夹直接创建子文件夹
rmdir
rmdir a(要删除的文件名)
此命令无法删除有文件的文件夹
cp
cp /root/acd.log(需要被copy的文件) /root/a(copy到的位置)
(可写相对路径也可写绝对路径)
cp -r /root/a(文件夹名) /root/b(要想copy文件夹必须加-r)
文本编辑器 (vi/vim)
vi,vim的区别:vi里的字只有白色,vim的字五颜六色
vim an 文件名(进入文本编辑器)
一般模式
不能向文件里写入内容
删除 连恩两下d
撤销 u
复制 连恩两下y
粘贴 p
shift+g到文本最后
1+shift+g 到文本最前面
正常退出 :q
强制退出:q!
保存退出:wq
保存:w
编辑模式
进入:输入i,I,A,a,o,O,r,R
shift+^ 移动到行头
shift+$ 移动到行尾
命令模式
在一般模式中输入:,?,\都能进入
查找:/名
向下查找 n
向上查找 N
显示行号:set nu
不显示行号:set nonu
touch
touch a.txt(文件名)(touch创建的不论有无扩展名都是文件)
cat
cat a.txt(文件名)(显示内容)
cat -n a.txt(显示行号)(对空行有检查左右)
rm
rm bb(文件名)(有提示是否删除)
rm -f bb(没有提示)
rm -r nn(递归删除)(删除文件夹下所有,有提示)
rm -fr nn(无提示)(慎用)
rm -rfv nn(无提示有显示删了什么)
mv
mv a.txt /root(剪切到了root)(可以移动文件夹)
mv a.txt b.txt (重命名)
more
more a.txt (看文件)
enter 向下滚动一行,
空格 翻一页,
ctrl+f 向下滚动一平
ctrl+b 返回上一屏
=输出当前行号
:f输出文件名和当前行号
q 返回
less
less a.txt
空格 翻一页,
上箭头 向上翻一页
下箭头 向下翻一页
/ 查询内容 n:向上找 N:向下找
q 返回
echo
echo “hello” 把hello输出到控制台
echo -e “hello/tword” 识别转义字符
echo “hello”> a.txt(将hello输入到啊a.txt中)
echo “hello”>> a.txt(将hello追加到a.txt中)
head
head -n 5 a.txt(文件名)(将前5行内容输出)(如没有-n默认输出10行)
tail
tail -n 5 a.txt(文件名)(将后5行内容输出)(如没有-n默认输出10行)
tail -n 1 -f a.txt(文件名)(动态的获取a.txt的最后一行)
ln
ln -s txe/a.txt aaaln (建立a.txt的软链接)
history
返回之前的所有操作,顺序
linux日期和用户相关操作
date
date 直接显示年月日时分秒(格式为电脑格式)
date +%Y 显示年
date +%m 显示月
date +%d 显示日
date +%H 显示时
date +%M 显示分
date +%S 显示秒
格式化输出:
date “+%Y-%m-%d %H:%M:%S”
显示非当前时间:
date -d “2 days ago” 一天前的这一时间
设置当前系统时间:
date -s “2020-12-02 10:01:22”
cal
cal 显示当前系统时间的当月日历
cal 2018 显示2018年的日历
useradd
useradd tangsan(用户名 ) 添加新用户
如何查看新建的用户是否真的加进去了
方法一:id (用户名)
方法二:cat /etc/passwd 看最下面是否有此用户
第一个500是用户id,第二个500是组id(一个组的用户拥有一样的权限)
useradd -g 500 zhubajie(用户名)指定组加用户
useradd -u 666 -g 500 孙悟空 指定id指定组加用户
su
su tangseng(用户名)跳转到别的用户
root用户中跳转到普通用户不需要密码
普通用户跳转到root用户需要密码
普通用户到普通用户需要密码
passwd
在没给用户设置密码之前用户是锁定的
passwd tangseng(设置密码)
查看是否设置了密码
cat /etc/shadow 如果用户名后是!!则说明没有设置密码
usermod
usermod -l shaheshang(新的用户名) shageshang(要改的用户名)
home
cd /home 查看已创建的所有用户
所有的非root用户都在home里
userdel
userdel sunwukong(用户名)(此命令删除之后,在home里还保留此用户的数据。在删除用户时如果没有结束用户的线程就不能删,在组里有其他用户的情况下,必须先删除成员才能删除组长)
exit 删除线程
ps 查看所有用户线程
userdel -r sunwukong(用户名)(删除包括home里的用户文件夹)
who
whoami 返回当前用户名
who am i 返回用户名及谁连接的连接ip
sudo
给普通用户加管理员权限
步骤:
首先需要登入管理员账户
chmod u+w(+需要的权限) sudoers(让sudoers有写的权限)
vim sudoers
进入编辑模式 i
要加权限的用户名 ALL=(ALL) ALL
chmod u-w(将权限还原) sudoers
su hduser 进入加入权限的普通用户账户
sudo cat sudoers 读取文件信息
输入hduser的密码
linux用户组相关操作
group
cat /etc/group 查看都有什么组
groupadd ssss(组名)增加组
groupmod -g 505(组id) ssss(组名)修改组号
groupmod -n qitiandasheng(新组名) ssss(旧组名)修改组名
groupdel qitiandasheng 删除组
linux权限
Linux系统一般将文件可存取访问的身份分为三类:owner,group,other且每种身份都有
read(读),writer(写),execute(执行)三种权限
owner文件所有者(当前用户)
group和文件一组的用户
Other除本身所有人
这个图很明确的说明了linux文件第一列的权限表示方式
chmod
chomd u+r a.txt 给a.txt的owner添加r的权限
chomd +w a.txt 给a.txt的所有身份都加入w权限
chomd -x a.txt 给a.txt的所有身份都剥夺x权限
chomd u=rw g=rw o=r a.txt不考虑以前a.txt的权限情况重新进行权限赋予
数字表示权限
chomd 777 a.txt 将a.txt所有权限都打开
(在用数字赋予权限的时候2,3都是权限赋予不合理的情况)
(在没有读权限的时候其他两个权限都失效)
chomd -R 777 a 将a文件夹下所有文件都赋予所有权限
修改用户所处的用户和用户组
chown
chown root(用户名) a.txt(文件名)修改文件/文件夹的所处用户
chown -R root t 递归修改文件夹及所处文件夹中的所有文件的所处用户
chown -R root:root t 将t文件及其下的所有文件和文件夹的所处用户和用户组一起改成root
chgrp
chgrp root a.txt 将a.txt所处的用户组改成root
chgrp -R root t 将t文件夹及文件夹中所有的文件的用户组都改成root
文件查找
find
find /root/test(查找范围) -name(用名字查找) a.txt(文件名)
用名字查找文件
find /root/test -name *.txt 查找以.txt结尾的文件及文件夹
find /root/test -type f 查找所有文件
find /root/test -type d 查找所有文件夹
find /root/text -size -20 查找小于20个字节的文件
locate
先把所有的文件都存到locate数据库中实现快速定位
不能指定文件搜索
updatedb 创建locate
locate a.txt 将所有包含a.txt的文件都搜索到
管道运输
将前一个命令的运算结果传给 后面的命令
ls -l | grep -n a.txt 查找刚刚查找到项目中有没有a.txt有打印行号打印内容
grep
grep hello a.txt 查找a.txt中有没有hello有就输出
linux打包命令
gzip/zunzip 压缩
特点:
只能压缩文件不能压缩目录
不保留原来的文件
gzip a.txt 压缩a.txt压缩后名字为a.txt.gz
gunzip a.txt.gz 解压a.txt.gz
zip/unzip 压缩
特点:
保留原来的文件
能压缩目录
zip a.zip(必须是.zip结尾) a.txt 压缩a.txt
zip ab.zip a.txt b.txt
unzip -d a/ ab.zip 解压ab.txt到a目录
zip -r abc.zip a/ 压缩目录a
unzip -d c/ abc.zip 解压目录a到c
tar打包/解包(最常用)
首先要打包之后再压缩
用tar打包,解包之后如果文件内容没有变化则没有任何变动
tar -czvf(f一定要放到最后) ab.tar.gz a.txt b.txt
tar -xzvf ab.tar.gz -C d/ 解压ab.tar.gz 到d目录下,并显示过程
高级命令
df
df 查看磁盘空间使用情况
df -h将单位换算成G,M,K
PS
ps 查看当前系统进程状况
ps -aux | grep firefox 查询当前进程中有无firefox
ps -ef 查询父进程
pstree 以树形结构来查询父进程与子进程之间的管理
top
top 查看系统健康状态
top -d 1 隔一秒更新一次
top -p 5342(进程id) 只监视这个进程
PR NI 值不以过大,他们表示进程开始所用的时间
kill
kill -9 6437(进程id)-9强制关闭进程
netstat
netstat 显示端口占用情况
netstat -t 显示用tcp协议的端口
netsrat -tn显示端口号
crond指定定时任务
service crond status 显示服务状态
service crond stop 停止服务
service crond start 开始服务
crontab设置定时任务
crontab -e 进入vim页面进行编辑
crontab -l 查询所有任务
crontab -r 删除所有任务
,代表不连续的时间
-代表连续的时间
*/n代表隔多长时间执行一次
*/1 * * * * echo ‘‘hello’’ >> a.txt 每分钟在a.txt中写入一个hello