Linux中常用命令(1)

本文详细介绍Linux环境下常用的文件和目录管理命令,包括ls、pwd、cd、mkdir、cp、mv、rm和cat等命令的使用方法及示例。通过本文,读者可以快速掌握这些基本命令的用法。

ls用来列出目录的内容,它是用户最常用的命令之一,ls命令的格式为:

ls[选项][目录名或文件名]

选项的主要参数:

.options主要参数
-a, --all:不隐藏任何以“.” 字符开始的项目。
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。
--author:印出每个文件著作者。
-b, --escape:以八进制溢出序列表示不可打印的字符。
--block-size=大小:块以指定的字节为单位。
-B, --ignore-backups:不列出任何以 ~ 字符结束的项目。
-f:不进行排序,-aU参数生效,-lst参数失效。
-F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。
-g:like -l, but do not list owner。
-G, --no-group:inhibit display of group information。
-i, --inode:列出每个文件的inode号。
-I, --ignore=样式:不印出任何符合Shell万用字符的项目。
-k:即--block-size=1K。
-l:使用较长格式列出信息。
-L, --dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。
-m:所有项目以逗号分隔,并填满整行行宽。
-n, --numeric-uid-gid:类似-l,但列出UID及GID号。
-N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。
-p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。
-Q, --quote-name:将项目名称括上双引号。
-r, --reverse:依相反次序排列。
-R, --recursive:同时列出所有子目录层。
-s, --size:以块大小为序。

使用ls命令时会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其它格式文件,如图所示:

ls最常使用的是ls -l,如图所示:

文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型,它可以是下述类型之一:

-(普通文件)、d(目录)、l(符号链接)、b(块设备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限,分为3组,每组3位。

第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。

每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)。对于目录,表示进入权限。s表示当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。t表示设置标志位(留在内存,不被换出)。如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,那么在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名称。

pwd、cd命令

pwd用来显示当前的工作目录的绝对路径,格式为:pwd

cd用来更改工作目录,格式为:cd

mkdir命令

用来创建一个新的目录,格式为:

mkdir[选项]目录名

作用:mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。

[选项]主要参数
-m, --mode=模式:设定权限,与chmod类似。
-p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误。
-v, --verbose:每次创建新目录都显示信息。
--version:显示版本信息后离开。

cp命令

功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
参数:
     -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同
     -b 或 --backup      删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
     -f 或 --force       强行复制文件或目录, 不论目的文件或目录是否已经存在
     -i 或 --interactive 覆盖文件之前先询问用户
     -l 或 --link        对源文件建立硬链接,而非复制文件
     -p 或 --preserve    保留源文件或目录的属性,包括所有者、所属组、权限与时间
     -P 或 --parents     保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
     -r                  递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
     -R 或 --recursive   递归处理,将指定目录下的文件及子目录一并处理
     -s 或 --symbolic-link  对源文件建立符号链接,而非复制文件
     -S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
     -u 或 --update      使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
     -v 或 --verbose     显示执行过程
     -V <备份方式> 或 --version-control=<备份方式>  指定当备份文件时,备份文件名的命名方式,有以下3种:
                         1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
                         2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
                         3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
     -x 或 --one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
     --help              显示在线帮助
     --sparse=<使用时机>  设置保存希疏文件的时机
     --version           显示版本

示例:
    .复制文件,只有源文件较目的文件的修改时间新时,才复制文件
     cp -u -v file1 file2

    .将文件file1复制成文件file2
     cp file1 file2

    .采用交互方式将文件file1复制成文件file2
     cp -i file1 file2

    .将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
     cp -f file1 file2

    .将目录dir1复制成目录dir2
     cp -R file1 file2

    .同时将文件file1、file2、file3与目录dir1复制到dir2
   cp -R file1 file2 file3 dir1 dir2

    .复制时保留文件属性
     cp -p a.txt tmp/

    .复制时保留文件的目录结构
     cp -P  /var/tmp/a.txt  ./temp/

    .复制时产生备份文件
     cp -b a.txt tmp/

    .复制时产生备份文件,尾标 ~1~格式
     cp -b -V t   a.txt /tmp    
  
    .指定备份文件尾标    
     cp -b -S _bak a.txt /tmp

mv命令

作用:
mv命令用来为文件或目录改名或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。
格式:
mv[options] 源文件或目录,目标文件或目录
[options]主要参数:
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
应用实例:
(1)将文件test.c重命名为test1.c:
$ mv test.c  test1.c

(2)将test1.c文件移动到Ccode文件夹中:
$ mv test1  ./Ccode

rm命令

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

1.命令格式:

rm [选项] 文件… 

2.命令功能:

删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

3.命令参数:

    -f, --force    忽略不存在的文件,从不给出提示。

    -i, --interactive 进行交互式删除

    -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

    -v, --verbose    详细显示进行的步骤

       --help     显示此帮助信息并退出

       --version  输出版本信息并退出

实例:

删除文件test,系统会先询问是否删除。 

将projects子目录及子目录中所有文件删除

cat命令

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 

1.命令格式:

cat [选项] [文件]...

2.命令功能:

cat主要有三大功能:

(1)一次显示整个文件:cat filename

(2)从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

(3)将几个文件合并为一个文件:cat file1 file2 > file

3.命令参数:

-A, --show-all           等价于 -vET

-b, --number-nonblank    对非空输出行编号

-e                       等价于 -vE

-E, --show-ends          在每行结束处显示 $

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 

-t                       与 -vT 等价

-T, --show-tabs          将跳格字符显示为 ^I

-u                       (被忽略)

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)》的技术资源,聚焦于电力系统中低碳经济调度问题,结合N-1安全准则与分布鲁棒机会约束(DRCC)方法,提升调度模型在不确定性环境下的鲁棒性和可行性。该资源提供了完整的Matlab代码实现,涵盖建模、优化求解及仿真分析全过程,适用于复杂电力系统调度场景的科研复现与算法验证。文中还列举了大量相关领域的研究主题与代码资源,涉及智能优化算法、机器学习、电力系统管理、路径规划等多个方向,展示了广泛的科研应用支持能力。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源调度、智能电网相关工作的工程师。; 使用场景及目标:①复现高水平期刊(如EI/SCI)关于低碳经济调度的研究成果;②深入理解N-1安全约束与分布鲁棒优化在电力调度中的建模方法;③开展含新能源接入的电力系统不确定性优化研究;④为科研项目、论文撰写或工程应用提供可运行的算法原型和技术支撑。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码与案例数据,按照目录顺序逐步学习,并重点理解DRCC建模思想与Matlab/YALMIP/CPLEX等工具的集成使用方式,同时可参考文中列出的同类研究方向拓展研究思路。
### Linux 常用命令汇总 #### 一、基本命令 在日常使用中,一些基础命令对于熟悉系统环境至关重要。例如 `ls` 列出目录内容;`pwd` 显示当前路径;以及 `cd` 更改工作目录等[^1]。 ```bash $ ls -l /home/user/ $ pwd /home/user $ cd Documents/ ``` #### 二、目录操作命令 创建新目录可以使用 `mkdir` ,删除空目录则通过 `rmdir` 实现。如果要强制移除非空目录及其内部文件,则需借助带有 `-r` 参数的 `rm` 指令。 ```bash $ mkdir new_folder $ rmdir empty_folder $ rm -rf non_empty_directory ``` #### 三、文件操作命令 针对单个或多个文件的操作同样重要。复制文件可用 `cp` ,移动或重命名依靠 `mv` 完成,而查看文本型文件的内容可通过 `cat`, `less` 或者 `more` 来实现。 ```bash $ cp source_file destination_path/ $ mv old_name.txt new_name.txt $ cat textfile.txt | less ``` #### 四、压缩文件操作 为了节省空间或是便于传输大容量数据,掌握压缩解压工具如 `tar` 和 `gzip` 是必要的技能之一。 ```bash $ tar czvf archive.tar.gz folder_to_compress/ $ tar xzvf archive.tar.gz ``` #### 五、查找命令 当需要定位特定文件时,`find` 提供了强大的搜索功能。另外,在处理日志或其他大型纯文本文档时,`grep` 可帮助快速过滤所需信息[^2]。 ```bash $ find /path/to/search -name "filename" $ grep 'search_pattern' log_file.log ``` #### 六、权限变更命令 调整文件所有权和访问权限是维护安全的重要环节。更改所有者的命令为 `chown` , 而修改群组归属则是由 `chgrp` 执行。 ```bash $ sudo chown user:newgroup filename $ chgrp developers project_files/ ``` #### 七、系统服务管理 启动、停止或者重启某些后台进程和服务可以通过 `systemctl` 这样的高级控制接口来完成。 ```bash $ systemctl start apache2.service $ systemctl stop mysql.service $ systemctl restart sshd.service ``` #### 八、网络配置与诊断 涉及网络连接状态查询、IP地址分配以及其他网卡设置方面的工作通常会涉及到诸如 `ifconfig`, `ping`, `netstat` 等实用程序[^3]。 ```bash $ ifconfig eth0 up $ ping google.com $ netstat -tulnp ``` #### 九、计划任务调度 利用 `cron` 表达式配合编辑器编写定期执行的任务脚本,能够自动化许多重复性的管理工作流。 ```bash $ crontab -e # 添加一行如下所示以每天凌晨两点运行备份脚本 0 2 * * * /usr/local/bin/backup.sh ``` #### 十、其他辅助性指令 除了上述分类之外还有不少有用的命令可以帮助提高效率,比如历史记录回顾 (`history`) 、磁盘用量统计 (`df`) 以及内存占用情况报告 (`free`) 等等。 ```bash $ history | tail -n 5 $ df -h / $ free -m ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值