linux命令
基本文件互动命令
-
通配符
*
任意个数个字符?
任意一个字符,至少1个[abc]
匹配abc中任意一个[a-f]
匹配从a到f中任意一个
-
ls
查看当前文件夹下内容ls -a
显示所有文件与目录,包括隐藏文件ls -l
以列表的方式显示文件ls -h
以人性化方式显示文件大小
-
pwd
查看当前文件夹路径
-
cd *目录名*
切换目录cd .
当前位置cd ..
切换到上一级位置cd ~
切换到用户主目录cd -
最近的目录切换
-
touch *文件名*
创建文件或更新文件时间
-
mkdir *目录*
创建目录mkdir -p *目录名*
递归创造目录
-
rm *文件名*
删除文件rm -f *文件名*
强制删除rm -r *目录*
递归删除目录下内容,用于删除文件夹
-
clear
清屏 -
command --help
查命令 -
tree
以树状图列出文件目录tree -d
只显示目录
-
cp *源文件* *目标文件*
复制文件或目录cp -f
已经存在的目标文件直接覆盖,不提示cp -i
覆盖文件前提示cp -r
递归复制目录下所有子目录和文件
-
mv *源文件* *目标文件*
移动文件或目录,或重命名mv -i
覆盖文件前提示
-
cat *文件名*
查看文件内容,创建文件,追加内容cat -b *文件名*
对非空输出行编号cat -n *文件名*
对输出所有行编号
-
more *文件名*
分屏显示文件内容- 空格 -> 下一屏
- enter -> 下一行
- b -> 回一屏
- f -> 前一屏
- q -> 退出
- /word -> 搜索字符串
-
grep *要搜索的文本* *文件名*
搜索文本文件内容grep -n
显示匹配行及行号grep -v
显示不包括匹配文本的所有行grep -i
忽略大小写grep ^*word*
找以word为开头的行grep *word*$
找以word为结束的行
-
echo *文字*
显示刚才输入的文字,需要和重定向配套使用
-
> >>
重定向,将结果放到指定文件里,>
输出覆盖原来,>>
追加到末尾。用于打日志,记录地址什么的
-
echo *文本* > *文件名*
联合使用,相当于往文件里加东西
-
|
管道,将左边的东西塞给右边
ls -lh | more
查看当前所有文件,并能够上下翻页
-
ifconfig
查网卡 -
ping *地址*
检查是否连接正常 -
shutdown
关机shutdown -r
重启shutdown -r now
现在关机shutdown -c
取消关机shutdown +10
10分钟后关机shutdown 20:10
20:10关机
-
date
查看系统时间
-
cal
查看日历cal -y
查看一年的日历
-
df -h
显示磁盘剩余空间du -h
显示当前目录下文件大小
-
ps
显示进程
-
top
动态显示运行中的进程,类似任务管理器,按q
退出
-
kill *代号*
中止进程kill -9 *代号*
强制中止
-
find *路径* -name "*查找内容*"
找路径下符合条件的文件
-
ln -s *完整源文件* *链接文件*
建立软连接,无-s
为硬链接- 硬链接:源文件删除后还保留
- 绝对路径:源文件删除后不保留,移动位置还保留
- 相对路径:源文件删除或移动位置都不保留
- 源文件删除后,硬链接脱离,再建立同名新文件,软连接承接新文件
-
tar -cvf *打包文件.tar* *被打包文件/路径*
打包文件 -
tar -xvf *待解包文件.tar*
解包文件 -
tar -zcvf *打包文件*.tar.gz *被压缩文件/路径*
压缩文件 -
tar -zxvf *打包文件*.tar.gz
解压缩文件 -
tar -zxvf *打包文件*.tar.gz -C *目标路径*
解压缩文件到指定地点 -
tar -jcvf *压缩文件名*.tar.bz2 *被压缩文件*
打包并压缩文件 -
tar -jxvf *压缩文件名*.tar.bz2 -C *目标路径*
打包并解压缩文件到指定地点 -
sudo apt install *软件包*
安装软件sudo apt remove *软件包*
卸载软件sudo apt upgrade
更新
远程控制
-
ssh -p 22 *用户名*@ip地址
远程控制linux- 例:`ssh -p 22 kate@100.100.100.100
exit
退出登录
-
scp -P port *要复制的文件带地址* *用户名*@ip地址:*复制目标地点+名字*
把本地文件复制到远程家目录下的指定地点scp -P port *用户名*@*ip地址*:*要复制的文件* *目标文件名*
把远程文件复制到本地scp -r *文件夹* *用户名*@*ip地址*:*目标地点*
把当前目录下的文件夹复制到远程家目录下的地点scp -r *用户名*@*ip地址*:*目标地点* *文件夹*
把远程家目录下的文件夹复制到当前目录下的文件夹
远程中只用做一次的操作
免密码登录
- 执行
ssh-keygen
生成SSH钥匙,一路回车 - 执行
ssh-copy-id -p port *用户名*@*ip地址*
配置别名
- 在
~/.ssh
文件夹里,touch config
创建新文件,gedit config
打开新文件,粘贴下面内容
Host K
HostName ip地址
User windows.kate
Port 22
用户权限
-
chmod +/-rwx *文件名*/*目录名*
修改用户对文件/目录权限
+表示加权限,-表示减权限,rwx为读写执行。后面只跟文件名为只改文件权限。目录删去可执行权限就不能进入。 -
sudo
超级用户,最大权限者,以下指令需要超级用户groupadd *组名*
添加组groupdel *组名*
删除组cat /etc/group
确认组信息chgrp -R *组名* *文件/目录*
修改文件/目录所属组
-
用户
useradd -m -g *组* *新用户名*
添加新用户passwd *用户名*
指定用户密码userdel -r *用户名*
删除用户id *用户名*
查看用户代号,组代号who
查看当前所有登录的用户列表whoami
查看当前登录用户的账户名usermod -g *组* *用户名*
修改用户的主组usermod -G *组* *用户名*
修改用户的附加组usermod -s /bin/bash
修改用户登录Shellwhich *指令*
查看执行命令所在位置which ls
-
切换用户
su - *用户名*
切换用户并切换目录,-
可以切换到用户家目录exit
退出登录
-
修改文件权限
chown *用户名* *文件名/目录名*
修改文件/目录拥有者chgrp -R *组名* *文件名/目录名*
递归修改文件/目录的组chmod -R 755 文件名/目录名
递归修改文件权限