文章目录
Linux命令大全: https://www.runoob.com/linux/linux-command-manual.html
1. linux目录
Linux没有盘符的概念,只有一个根目录
关于目录的详细介绍:https://www.cnblogs.com/duanji/p/yueding2.html
/bin
:binaries(二进制文件),这个目录存放着二进制可执行文件(ls,cat,mkdir等)sbin
:存放的是系统管理员使用的系统管理程序/boot
:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件/dev
:device,存放的是Linux的外部设备。在Linux中访问设备的方式和访问文件的方式是相同的/etc
:etcetera,存放所有的系统管理所需要的配置文件和子目录/home
:用户的主目录。在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。比如用户user的主目录就是/home/user
。/lib
:library,存放系统最基本的动态连接共享库,类似Windows里的DLL文件/opt
:optional,给主机额外安装软件所摆放的目录/tmp
:temporary,存放临时文件/var
:variable,存放经常被修改的目录,包括各种日志文件/root
:超级权限者的用户主目录
Ubuntu是多用户的操作系统
2. 路径操作
(1)pwd
pwd:查看当前路径
(2)ls
ls:查看当前路径下的有哪些文件
蓝色的代表文件夹,白色的代表文件
-l、-h、-a参数
-l
:以列表的形式显示-h
:以kb的形式显示文件大小-a
:显示隐藏文件
ls -l
:以列表的形式
大小按照字节显示
大小按照kb显示:ls -l -h
或ls -hl
ls -a
:还显示隐藏的文件
ls -l -a
注意:文件前面加一个点就是隐藏文件
(3)cd
cd:切换路径
回到家目录:cd ~
cd是切换文件夹的,但是不能打开具体文件
cd -
:两个路径之间来回切换
(4) 通配符:*?[]
隐藏文件一般是配置文件,不需要修改;防止误操作,隐藏起来
*:代表零个或者多个字符
ls *.txt //查找所有的txt文件
ls *.odp
ls 1* //以1开头的文件
ls 1*.odp //以1开头的odp文件
?:代表一个字符
ls ???.opt //三个字符名的opt文件
ls 1?.opt
[1234]:代表里面的任意一个字符
ls [1234]23.txt //查找123.txt或223.txt或...
ls [abc123]22.txt
ls [a-z]23.txt
3. 文件/文件夹操作
(1)touch
touch:创建文本文件
(2)mkdir
mkdir:创建文件夹
(3)rmdir
只能删除空文件夹,文件夹里面非空的时候就不行了,会提示文件内非空不允许删除
(4)rm
例:删除文件
rm a.txt
rm .c.txt
例:删除文件夹:
-r
:递归删除目录及其内容(常用)-f
:强制删除,不提示用户确认-i
:交互式删除,删除前会提示用户确认删除操作-v
:显示详细的删除信息,输出每个删除的文件信息
rm -r b
(5)mv
将文件aaa改名为bbb
mv aaa bbb
将info目录放入logs目录中,注意,如果log目录不存在,则该命令将info改名为logs
mv info/ logs
将/usr/runoob下的所有文件和目录移到当前目录下
mv /usr/runoob/* .
将目录A重命名为B
mv A B
将/a目录移动到/b下,并重命名为c
mv /a /b/c
(6)cp
复制文件
cp 待复制文件 目标路径
复制文件且修改名字
cp 1.txt 2.txt
复制文件夹
cp -r 待复制文件夹 目标路径
4. 帮助手册 --help
man mv
也可以
5. 查找文件
(1)whereis
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该命令只能用于查找二进制文件、源代码和man手册页,一般文件的定位需要使用locate命令。
它会搜索的标准目录,比如/bin
,/sbin
、/usr/bin
、/usr/sbin
、/usr/local/bin
等
(2)find
该命令用于在指定目录下递归搜索文件。
它的功能非常强大,可以按照文件名、大小、权限等多种条件进行搜索。
它可以搜索任何目录,不仅限于标准系统目录
find [路径] [匹配条件] [动作]
匹配条件:可选的
-name pattern:按文件名查找,支持使用通配符*和?
-type type:按文件类型查找,可以是f(普通文件)、d(目录)、l(符号链接)等
-size [+-]size[cwbkMG]:按文件大小查找,支持使用+或-表示大于或小于指定大小,单位可以是c(字符)、w(字数)、b(块数)、k(KB)、M(MB)、G(GB)
-mtime days:按修改时间查找,支持使用+或-表示在指定天数前或后,days是一个整数表示天数
-user username:按文件所有者查找
-group groupname:按文件所属组查找
动作:可选参数,用于对匹配到的文件执行操作,比如删除、复制等
例:
find /home -name 125.txt
find /hoem -name 125*
find /hoem -name 125????
例:按照大小搜索,一个数据块=512字节,即0.5k
find /home -size +1 //>0.5字节的文件
find /home -size -1 //<0.5字节的文件
find /home -size +6
find /home -size =6
find /home -size 6 //=6功能一样
例:通过所属人查找
find /home/zdb/Desktop -user zdn
例:
find /home -mmin -5 //5分钟之内被修改的文件
文件类型搜索:文件、目录、软链接
find /home -type f //搜索文件
find /home -type d //文件夹
find /home -typr l //软链接
find /home -name 'a*' -type f
find /home -name 'a*' -a -type f //and
find /home -name 'a*' -o -type f //or
(3)locate
locate命令用于快速定位文件,它通过在数据库中进行搜索而不是实时搜索文件系统来提高速度。
它可以按照文件名进行模糊搜索,而不是像find那样需要完全匹配
sudo updatedb //更新
locate 125.txt //搜索
locate与find不同:find是去硬盘找,locate只是在/var/lib/slocate资料库中找
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库,命令为updatedb
,默认updatedb每天执行一次。
(4)which
which命令用于查找可执行文件的位置,它会搜索PATH环境变量中指定的目录,找到并返回第一个匹配的可执行文件路径。通常用于确定系统中正在使用的是哪个可执行文件,特别是在多个同名程序存在于不同目录时。
例:
# 使用which查看指令bash的绝对路径:
which bash
# 上面的指令执行后,输出信息如下所示:
/bin/bash
例:
which Python
# 返回系统中正在使用的Python可执行文件的路径
6. 查看文本文件内容:cat,more
cat 126.txt
more 126.txt //两者都可以
空格
和b
是下上翻页的快捷键
cat -b 126.txt //去除空行 显示行号
cat -n 126.txt //显示行号
7. 搜索文件内容:grep
grep user 126.txt
grep sdf 126.txt //126.txt文件中查找sdf
grep -n user 126.txt //并且显示行号
grep -v user 126.txt //不包含user的行
grep ^'#' /etc/services //查找以#开头的
gfgrep s$ /etc/services //查找以s结尾
grep abc 126.txt
grep -i abc 126.txt //不区分大小写
8. 回显:echo
echo hello > 126.txt //hello写入126.txt 覆盖形式
echo hello >> 126.txt //追加形式
ls > 126.txt //ls显示的结果写入126.txt
Linux下文件后缀没有那么重要
9. 管道
一个命令的输出,作为另外一个命令的输入
ls -lh | grep 125.txt
grep 125.txt (ls -lh)
10. 软链接
相当于快捷键
touch aa/abc
ln aa/abc abc_Softlink //创建软连接
11. 添加新用户
sudo useradd zdb1
sudo passwd zdb1
创建家目录
sudo useradd -m zdb2
root设置密码
切换root用户
su root
退出
exit
用户的删除
userdel zdb1