Ubuntu-----常用命令

发布于:2025-04-17 ⋅ 阅读:(79) ⋅ 点赞:(0)

1、文件和目录操作——详细介绍

‌1.ls‌:列出目录内容

示例:ls 目录内容
示例:ls -l 以长格式列出目录详细内容
示例:ls -a 增加显示隐含目录

其中
蓝:目录;
绿:可执行文件;
红:压缩文件;
浅蓝:链接文件;
灰:其他文件;
红底白字:错误的链接文件

‌2.pwd‌:显示当前目录的路径

示例:pwd 显示当前工作目录

‌3.cd‌:切换目录

示例:cd 切换到当前用户的主目录 /home/用户名

  •   cd
    

示例:cd ~ 切换到用户的主目录的快捷方式 /home/用户名

  •   cd ~
    

示例:cd … 切换到上一级目录

  •   cd ..  
    

示例:cd - 切换到上一个工作目录

  •   cd -
    

示例:cd 路径 切换到绝对路径 /home/用户名/路径

  •    cd /home/aaa_user/ea_dir/g_dir
    

示例:cd 加路径 切换到相对路径(一般都在当前目录 的下一个路径)

  •   cd  ea_dir/g_dir
    

示例:cd / 切换到根目录

  •   cd   /
    
  •  cd   /..
    

连续返回上级目录
示例:cd …/…/…/… 切换到上4个目录

  •   cd ../../../..
    

示例:cd …/… 切换到上2个目录

  •   cd ../..
    

4.建立目录:mkdir 目录名

创建单个目录:

  •   mkdir example
    

创建多个目录:只需在mkdir命令后用空格分隔每个目录名即可

  •   mkdir dir1 dir2
    

创建嵌套目录:可以使用-p选项。例如,要创建parent/child/subchild

  •   mkdir -p parent/child/subchild
    

指定目录权限:你也可以在创建目录时指定其权限。权限使用标准的Linux权限表示法(如755、700等)。例如,创建一个权限为755的目录:

  •   mkdir -m 755 example
    

查看帮助信息
如果你不确定mkdir命令的具体用法或者有哪些选项可用,可以通过查看帮助文档来获取信息:

  •   mkdir --help
    

或者查看手册页(man page):

  •   man mkdir
    

5.删除空目录:rmdir 目录名

删除单个空目录

  1. rmdir empty_dir
    

删除多个空目录
2. rmdir dir1 dir2 dir3

6.无条件删除子目录: rm -rf 目录名

没有提示,确定删除目录和内容

  •   rm -rf /path/to/example_dir
    

有提示,确定删除目录和内容

  1. rm -ri 目录路径
    

7.查看当前目录大小:du

du命令用于估计文件或目录的磁盘使用空间。它非常有用,特别是当你想要查看当前目录或其子目录占用的磁盘空间时。下面是一些du命令的基本用法:
直接使用 du -h,树状输出,大小和目录

  •   du -h
    

1. 查看当前目录的总大小
要查看当前目录(不包括子目录)的大小,你可以使用:

  •   du -sh .
    

这里的选项解释如下:

  • -s 或 --summarize:显示总计,而不是列出每个子目录的大小。
  • -h 或 --human-readable:以易读的格式(如KB、MB、GB)显示大小。

2. 查看当前目录及其所有子目录的大小
如果你想要查看当前目录及其所有子目录的大小,但不以树状结构显示,可以使用:

  •   du -h --max-depth=1 .
    

这里的选项解释如下:

  • –max-depth=1:限制显示的目录深度。1 表示只查看当前目录下的直接子目录大小,不递归查看更深层次的子目录。如果你想查看更深层次的子目录,可以增加数字(例如,–max-depth=2)。

3. 以树状结构查看当前目录及其所有子目录的大小
如果你想要以树状结构查看当前目录及其所有子目录的大小,可以使用:

  •   du -h --max-depth=1 | sort -hr
    

这里的选项解释如下:

  • sort -hr:对输出进行排序,-h 表示按人类可读的数字排序,-r 表示逆序(从大到小)。

4. 查看特定文件或目录的大小
如果你想要查看特定文件或目录的大小,只需将文件名或路径替换为.即可。例如,查看名为example.txt的文件大小:

  •   du -sh example.txt
    

5. 排除某些目录或文件
如果你想在计算时排除某些目录或文件,可以使用–exclude选项。例如,排除名为node_modules的目录:

  •   du -h --exclude=node_modules --max-depth=1 .
    

8.cp‌:复制文件或目录

1. 复制文件

  •   cp   source_file     destination_file
    

这将复制source_file到destination_file。如果destination_file已存在,它将被覆盖。

2. 复制目录

  •   cp -r /path/to/source_dir /path/to/destination_dir
    

使用-r或-R选项来递归复制目录及其内部所有文件和子目录。
这将复制source_dir目录到destination_dir目录中。

3. 保留原有属性(如时间戳)

  •   cp -p example.txt example_copy.txt
    

这将复制example.txt到example_copy.txt,并保留原文件的修改时间和权限。

4. 交互式复制(询问是否覆盖文件)

  •   cp -i example.txt example_copy.txt
    

如果example_copy.txt已存在,系统会询问用户是否要覆盖它。

5. 显示被复制的文件名(verbose模式)
基本用法:

  •   cp -v source_file destination_file
    

使用-v选项来显示正在被复制的文件名。

示例:

  •   cp -v example.txt example_copy.txt
    

这将显示正在复制的文件名。

6. 链接文件而非复制(硬链接或符号链接)

硬链接:

  •   cp --reflink=always source_file destination_file
    

使用–reflink=always选项创建硬链接而非复制文件内容(在某些文件系统上支持)。这可以更快地创建硬链接,但需要源文件和目标文件位于同一文件系统上。

符号链接:

  •   cp -s source_file destination_link
    

使用-s选项创建符号链接而非复制文件内容。符号链接是一个指向另一个文件的引用。

通过这些示例和选项,你可以根据需要灵活地使用cp命令来复制文件和目录。

	示例:cp source_file destination_file 复制文件

9.mv‌:移动或重命名文件或目录

示例:mv old_name new_name 重命名文件

基本语法

mv [选项] 源文件 目标文件
mv [选项] 源文件1 源文件2 ... 目标目录

常见选项

  • -i 或 --interactive:在覆盖文件之前提示用户确认。
  • -f 或 --force:强制移动文件或目录,不提示用户确认,并覆盖目标位置的文件(如果存在)。
  • -n 或 --no-clobber:不覆盖已存在的文件。
  • -v 或 --verbose:显示命令执行过程中的详细信息。

示例用法

重命名文件‌
将文件 file1.txt 重命名为 file2.txt:

  •   mv   file1.txt    file2.txt
    

移动文件‌
将文件 file1.txt 移动到 /home/user/Documents/ 目录:

  •   mv file1.txt /home/user/Documents/
    

移动多个文件到一个目录‌

将 file1.txt 和 file2.txt 移动到 /home/user/Documents/ 目录:

  •   mv file1.txt file2.txt /home/user/Documents/
    

‌强制移动(不提示覆盖)‌
强制将 file1.txt 移动为 file2.txt,即使 file2.txt 已存在也不提示用户确认:

  •   mv -f file1.txt file2.txt
    

‌在覆盖前提示‌
在将 file1.txt 移动为 file2.txt 之前提示用户确认(如果 file2.txt 已存在):

  •   mv -i file1.txt file2.txt
    

‌显示详细信息‌
显示移动过程中的详细信息:

  •   mv -v file1.txt /home/user/Documents/
    

‌移动目录‌
将目录 dir1 移动到 /home/user/Documents/:

  •   mv dir1 /home/user/Documents/
    

注意:当移动目录时,如果目标位置已经存在一个同名目录,mv 命令将会把源目录移动到目标目录内,而不是替换它。

使用 mv 命令时要小心,特别是当使用 -f 选项时,因为这会覆盖目标文件而不提示,可能导致数据丢失。如果不确定,可以先使用 -i 选项来让命令在覆盖文件之前提示你确认。

‌10.touch‌:创建空文件或更新文件的时间戳

创建新文件
要创建一个新的空文件,只需使用touch命令后跟文件名:

  •   touch filename.txt
    

这将会在当前目录下创建一个名为filename.txt的空文件。如果文件已经存在,这个命令将不会改变文件的内容,但会更新文件的访问和修改时间。

更新文件时间戳
touch命令也可以用来更新现有文件的时间戳。这包括文件的访问时间(atime)和修改时间(mtime)。

  •   touch existingfile.txt
    

这将更新existingfile.txt的访问和修改时间为当前时间。

使用特定时间更新文件时间戳
你还可以使用-t选项来指定一个特定的时间来更新文件的时间戳。时间格式通常是[[CC]YY]MMDDhhmm[.ss]:

  •   touch -t 202502081200 filename.txt
    

这将把filename.txt的时间戳设置为2025年2月8日12:00。

创建多个文件
touch命令可以同时创建多个文件:

  •   touch file1.txt file2.txt file3.txt
    

这将在当前目录下创建三个新的空文件:file1.txt、file2.txt和file3.txt。

更改文件的访问时间或修改时间
使用-a选项可以只更改文件的访问时间,而不改变修改时间;使用-m选项可以只更改文件的修改时间,而不改变访问时间:

  •   touch -a filename.txt  # 只更新访问时间
    
  •   touch -m filename.txt  # 只更新修改时间
    

显示详细信息
在使用touch命令时,如果你想要看到命令执行的结果,可以使用-c(或–no-create)选项与-v(或–verbose)选项组合。这样,如果文件不存在,touch命令不会创建它,但会显示一个消息说明文件不存在:

  •   touch -cv filename.txt
    

如果文件已经存在,它将显示文件的名称以及更新后的时间戳。

注意事项
在使用touch命令时,请确保你有足够的权限在指定目录下创建文件或更新文件的时间戳。
如果文件名包含特殊字符或空格,请记得使用引号将文件名括起来,例如touch “my file.txt”。

2. 文件内容查看和编辑

8.浏览文件:more 文件名.txt;less 文件名.txt

9.复制文件: cp 源文件 目标文件 (-r:包含目录)

10.查找文件:(1)find (2)locate 命令名

11.链接:

(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件

cat‌:查看文件内容

示例:cat file.txt 显示文件内容

‌more‌:分页查看文件内容

示例:more file.txt 分页显示文件内容

‌less‌:分页查看文件内容,支持更多交互操作

示例:less file.txt 类似more,但功能更强大

查看文件

基本语法是less [选项] [文件名]。可以在终端中输入less example.txt。

退出less

  • 在less界面中,按下q键即可退出。如果按下q键无法退出,可以尝试使用Ctrl+C组合键来强制退出。另外,也可以使用Ctrl+Z组合键将less命令放入后台运行,然后使用kill命令来结束该进程。

‌find‌:在文件系统中搜索文件

示例:find /home -name “*.txt” 在/home目录下搜索所有.txt文件

‌grep‌:在文件中查找指定模式的文本

示例:grep “pattern” file.txt 在file.txt中搜索包含"pattern"的行


网站公告

今日签到

点亮在社区的每一天
去签到