首页 > 系统相关 >[Linux]基础bash shell命令

[Linux]基础bash shell命令

时间:2022-11-25 20:03:36浏览次数:51  
标签:文件 shell 链接 参数 ls Linux test 目录 bash


[Linux]基础操作命令

参考书本《Linux命令行与shell脚本大全》复习和查询用,别的用到了在慢慢补充

遍历目录

目录路径

绝对路径

cd /usr/bin

相对路径

cd Documents

返回主目录

cd

其他实用命令

显示当前目录

pwd

当前目录的父目录…
单点表示当前目录(在下面的文件复制当中很常用)

cd ../Downloads

文件和目录列表

ls及其参数

显示该目录下文件和目录,列表按字母排序,如果是彩色终端仿真器会用颜色区分不同类型的文件

ls

-F参数区分文件和目录,目录名后会加上/,可执行文件后会加上*

ls -F

-a参数会把隐藏的文件也显示出来(通常以点号开始)

ls -a

-R参数,递归地列出该目录下包含子目录中的文件

ls -F -R

多个参数还可以合并到一起

ls -FR

-l参数显示长列表展示文件信息:类型,权限,硬链接总数,属主用户名,属组组名,文件大小(字节为单位),上次修改时间,文件名或者目录名
下面这个组合很实用

ls -alF

-d只列出目录本身的信息

ls -Fd *Scripts

-i查看文件的inode编号

ls -i *data_file

过滤器

命令行参数后可以加过滤器来过滤文件
?表示一个字符,*表示0个或任意多个字符,[ai]表示可以匹配a或者i,[a-i]表示可以匹配a-i的字母,[!a]表示不匹配a

ls -l my_scri?pt
ls -l my*
ls -l my_scr[ai]pt
ls -l f[a-i]ll
ls -l f[!a]ll

使用tree工具

使用tree工具可以用一种美观的方式(树形)展示目录,tree工具不一定默认装在linux发行版里,如果没有需要自行安装
archlinux安装tree

sudo pacman -S tree

使用tree

tree Small_Dir

处理文件

创建文件

创建文件/改变文件修改时间,加-a只改变文件访问时间。(ls只有-l查看修改时间,加上参数–time=atime查看访问时间)

touch test_one
ls -l test_one
touch -a test_one
ls -l --time=atime test_one

复制文件

cp A B 复制A到B,不会有覆盖提醒

cp test_one test_two

加入参数-i,强制shell询问是否需要覆盖已有文件

cp -i test_one test_two

如果是复制到目录,最后加上/,避免把复制到目录的操作变成创建一个和目录同名的文件的操作
可以相对路径也可以绝对路径

cp -i test_one Documents/

复制到当前目录可以直接用单点表示,适合源对象名字很长的操作(不过最好pwd看看现在在哪里)

cp -i /etc/NetworkMannager/NetworkManager.conf .

-R递归复制整个目录的内容

cp -R Scripts/ Mod_Scripts

cp命令也可以使用通配符,下面命令表示把所有script结尾的文件复制到Mod_scripts/目录下(区分文件和目录!)

cp *script Mod_scripts/

制表健自动补全

给足够信息能和其他文件区分开就像,按两下就会列出所有把 已经输入的字母 作为开头的 文件名

链接文件

符号链接:链接文件独立,内容不同,大小不同,文件的inode编号不同,只是单纯指向原来文件而已,使用ls -l查看文件信息会有箭头指向原来的文件。
要尽量避免创建软链接的软链接,这会造成链接链混乱,容易破裂

ln -s data_file sl_data_file

硬链接:创建独立的虚拟文件,包含原文件的信息及位置,是同一个文件,只能对同一存储媒体的文件创建硬链接

ls code_file hl_code_file

重命名文件

重命名fall为fzll

mv fall fzll

把fzll移动到Pictures/下

mv fzll Pictures/

也可以直接移动整个目录及其内容,下面指令的效果相当于只是改变了目录的名字,里面内容没有变,也不需要加/

mv Mod_Scripts Old_scripts

删除文件

-i参数会在删除前询问

rm -i fall

-f参数可以免受过多提示符的打扰,但是小心点

rm -f f?ll

处理目录

创建目录

使用mkdir创建目录,区分使用touch创建文件

mkdir New_Dir

如果要同时创建多个目录和子目录需要加入-p参数,-p可以根据需要创建缺失的父目录。

mkdir -p New_Dir/Sub_Dir/Under_Dir

删除目录

rmdir删除空的目录

rmdir New_Dir

rm加上-r参数递归删除目录当中的文件和它本身,但是一个确认可能很慢

rm -ir Small_Dir

使用-f参数直接诶删完,没有提示,方便但是危险,如果是超级用户权限小心使用

rm -rf Small_Dir

查看文件内容

查看文件类型

file文件可以直接查看文件类型,如果有链接会告诉你链接到哪个文件了,如果是个二进制可执行文件可以告诉你面向哪个平台编译,需要那些库。

file New_Dir

查看整个文件

cat命令
cat命令是显示文本文件中所有数据的得力工具

cat test1

-n参数给所有行加上行号,-b参数只给有文本的行加上行号,如果不想要制表符可以加入参数-T(之后会用^I代替制表符显示)

cat -n test1
cat -b test1
cat -T test1

more命令和less命令
more命令会在显示完1页后停下来,使用空格或者回车可以继续浏览,下面有more标签显示当前文本的进度

more /etc/bash.bashrc

less命令是more的升级版,实现文本文件中前后翻动,还可以进行搜索之类的操作

查看部分文件

tail查看文件末尾,-n参数可设置查看多行,默认10行,也可以直接-加数字

tail -n 5 log_file

head查看文件开头,也可以-n设置查看多少行

head -5 log_file


标签:文件,shell,链接,参数,ls,Linux,test,目录,bash
From: https://blog.51cto.com/u_15891800/5887705

相关文章

  • [Linux]vim基本操作
    [Linux]vim基本操作超级有用的健位图大小写有区别的!按键指令命令模式(1)i:进入编辑模式1(2)ESC:进入一般命令模式查找移动替换(3)h或左箭头键:光标向左移动一个字符(......
  • 如何在Linux上用tshark命令把抓包中follow的二进制流保存成文件
    目录背景解决方案背景用wiresharkwindows版本把视频流保存出来,结果只有抓包的一半,另一半丢失了。为了验证是视频流的问题还是wireshark的问题。不得已,研究起了tshark,最......
  • Linux 零拷贝技术-mmap与sendFile
    零拷贝是网络编程的关键,很多性能优化都离不开数据角度分析:在零拷贝机制中,整个数据在内存中只有一份数据,非零拷贝机制中,内核缓冲区,用户缓冲区,Socket......
  • [Linux 高并发服务器] exec函数族
    [Linux高并发服务器]exec函数族exec函数族exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件......
  • [Linux 高并发服务器] 进程创建以及GDB多进程调试
    [Linux高并发服务器]进程创建进程创建系统允许一个进程创建新进程,新进程就是子进程,子进程还可以创建子进程,形成树结构模型我们可以使用​​fork​​函数创建子进程/*#......
  • [Linux 高并发服务器] 进程状态的转换
    [Linux高并发服务器]进程状态的转换根据​​牛客的c++项目课程​​做笔记,图片和知识点均摘录自该课程进程的状态转换进程状态反映进程执行过程的变化,这些状态随着进程的执......
  • [Linux 高并发服务器] 进程概述
    [Linux高并发服务器]进程概述程序和进程程序程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程二进制格式表示,用于描述可执行文件格式的元信息,内核利用......
  • [Linux 高并发服务器]文件IO
    [Linux高并发服务器]文件IO此博客是根据牛客的项目课写的,使用了pdf里的资料​​​各位可以去牛客官网学习一下​​另外注意,本博客和牛客的教程以32位系统为例,如果记忆一些......
  • [Linux高并发服务器]模拟实现 ls -l 指令
    [Linux高并发服务器]模拟实现ls-l指令参考:​​牛客LINUX高并发服务器教程​​利用state函数模拟实现ls-l命令使用​​ls-l​​命令返回了以下信息文件类型文件权限连接......
  • [Linux 高并发服务器]GDB调试
    [Linux高并发服务器]GDB调试[Linux高并发服务器]GDB调试​​[Linux高并发服务器]GDB调试​​​​GDB是什么​​​​预先准备​​​​基本命令​​​​例子​​​​进入和......