Linux常用基本命令整理

shell

Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作,Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。

基本格式:       command -options [argument]

command: Shell 命令名称。
options:选项,同一种命令可能有不同的选项,不同的选项其实现的功能不同。
argument:Shell 命令是可以带参数的,也可以不带参数运行。

shell命令的自动补全:输入命令的前面一部分字母,然后按下TAB 键,如果只有一个命令匹配的话就会自动补全这个命令剩下的字母。如果 有多个命令匹配的话系统就会发出报警声音,此时在按下一次 TAB 键就会列出所有匹配的命令。

目录信息查看命令 ls

ls [选项] [路径]

-a 显示所有的文件以及子目录,包括以“.”开头的隐藏文件。

-l 显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息。

-t 将文件按照创建时间排序列出。

-A 和-a 一样,但是不列出“.”(当前目录)和“…”(父目录)。

-R 递归列出所有文件,包括子目录中的文件。

目录切换命令 cd

cd [路径]

cd / 进入到根目录“/”下,Linux 系统的根目录为“/”,

cd /usr 进入到目录“/usr”里面。

cd … 进入到上一级目录。

cd ~ 切换到当前用户主目录

当前路径显示命令 pwd

pwd

系统信息查看命令 uname

uname [选项]

-r 列出当前系统的具体内核版本号。 -s 列出系统内核名称。 -o 列出系统信息。

切换用户执行身份命令 sudo

sudo [选项] [命令]

sudo adduser test

-h 显示帮助信息。

-l 列出当前用户可执行与不可执行的命令

-p 改变询问密码的提示符。

添加用户命令 adduser

adduser [参数] [用户名]

-system 添加一个系统用户

-home DIR DIR 表示用户的主目录路径

-uid ID ID 表示用户的 uid。

-ingroup GRP 表示用户所属的组名。

删除用户命令 deluser

deluser [参数] [用户名]

-system 当用户是一个系统用户的时候才能删除。

-remove-home 删除用户的主目录

-remove-all-files 删除与用户有关的所有文件。

-backup 备份用户信息

切换用户命令 su

su [选项] [用户名]

sudo su(切换到root)

sudo su zr

-c –command 执行指定的命令,执行完毕以后恢复原用户身份。

-login 改变用户身份,同时改变工作目录和 PATH 环境变量。

-m 改变用户身份的时候不改变环境变量

-h 显示帮助信息

显示文件内容命令 cat

cat [选项] [文件]

-n 由 1 开始对所有输出的行进行编号。

-b 和-n 类似,但是不对空白行编号。

-s 当遇到连续两个行以上空白行的话就合并为一个行空白行。

显示和配置网络属性命令 ifconfig

ifconfig interface options | address

sudo ifconfig ens33 192.168....(将网卡ens33的IP地址改为...)

interface 网络接口名称,比如 eth0 等。

up 开启网络设备。

down 关闭网络设备。

add IP 地址,设置网络 IP 地址。

netmask add 子网掩码。

系统帮助命令 man

man [命令名]

软件安装、更新、卸载

sudo apt-get install package-name

sudo apt-get upgrade package-name

sudo apt-get remove package-name

VIM文本编辑

编辑器设置:用 vi 打开文件/etc/vim/vimrc,在最后面输入set ts=4,设置 TAB 键为 4 字节;输入 set nu 显示行号。

vim test.txt

a 在当前光标所在字符的后面,转为输入模式。

ESC 从VIM现在的输入模式切换到指令模式。

: 从现在的指令模式进入底行模式。

指令

输入G可以直接定位到最后一行。

在这里插入图片描述

进入底行模式后的命令:

x 保存当前文档并且退出。

q 退出。

w 保存文档。

q! 退出 VI/VIM,不保存文档。

文件

创建新文件命令—touch

touch [参数] [文件名]

-a 只更改存取时间。

-c 不建立任何文件。

-d <日期> 使用指定的日期,而并非现在的日期。

-t <时间> 使用指定的时间,而并非现在的时间。

文件夹创建命令—mkdir

mkdir [参数] [文件夹名目录名]

-p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。

文件及目录删除命令—rm

rm [参数] [目的文件或文件夹目录名]

直接使用rm无法删除文件夹,需要加上参数 -rf 强制删除。

-d 直接把要删除的目录的硬连接数据删成 0,删除该目录。

-f 强制删除文件和文件夹(目录)。

-i 删除文件或者文件夹(目录)之前先询问用户。

-r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。

-v 显示删除过程。

文件夹(目录)删除命令—rmdir

rmdir [参数] [文件夹(目录)]

-p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一 起删除。

文件复制命令—cp

cp [参数] [源地址] [目的地址]

“*.c”就表示所有以“.c”结尾的文件

“…/”表示上级目录

-a 此参数和同时指定“-dpR”参数相同

-d 在复制有符号连接的文件时,保留原始的连接。

-f 强行复制文件,不管要复制的文件是否已经存在于目标目录。

-I 覆盖现有文件之前询问用户。

-p 保留源文件或者目录的属性。

-r 或-R 递归处理,将指定目录下的文件及子目录一并处理

文件移动命令—mv

mv [参数] [源地址] [目的地址]

-b 如果要覆盖文件的话覆盖前先进行备份。

-f 若目标文件或目录与现在的文件重复,直接覆盖目标文件或目录。

-I 在覆盖之前询问用户。

权限管理命令

权限:root>初次创建的用户>普通用户

“-rw-rw-r–”:第1位表示文件类型,剩下的 9 位以 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用 户组的权限以及其它用户权限。(用户组就是一组有相同属性的用户集合)

权限二进制数表示:一种权限对应一个 二进制位,如果该位为 1 就表示具备此权限,如果该位为 0 就表示没不具备此权限。
在这里插入图片描述

权限修改命令 chmod

chmod [参数] [文件名/目录名]

chmod u+x a.c (给a.c的归属用户添加可执行权限)

chmod 777 test

-c 效果类似“-v”参数,但仅回显更改的部分。

-f 不显示错误信息。

-R 递归处理,指定目录下的所有文件及其子文件目录一起处理。

-v 显示指令的执行过程。

权限修改字母表示:

在这里插入图片描述

文件归属者修改命令 chown

chown [参数] [用户名.<组名>] [文件名/目录]

sudo chown root.root test

-c 效果同-v 类似,但仅回显更改的部分。

-f 不显示错误信息。

-h 只对符号连接的文件做修改,不改动其它任何相关的文件。

-R 递归处理,将指定的目录下的所有文件和子目录一起处理。

-v 显示处理过程。

磁盘管理

磁盘分区命令 fdisk

fdisk [参数]

sudo fdisk /dev/sdb

-b<分区大小> 指定每个分区的大小。

-l 列出指定设备的分区表。

-s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。

-u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。

格式化命令 mkfs

mkfs [参数] [-t 文件系统类型] [分区名称]

mkfs –t vfat /dev/sdb1

fs 指定建立文件系统时的参数

-V 显示版本信息和简要的使用方法。

-v 显示版本信息和详细的使用方法。

挂载分区命令 mount

mount [参数] -t [类型] [设备名称] [目的文件夹]

sudo mount -t vfat /dev/sdb1 /mnt/tmp(以 fat 格式挂载到目录/mnt/tmp 中)

-V 显示程序版本。

-h 显示辅助信息。

-v 显示执行过程详细信息。

-o ro 只读模式挂载。

-o rw 读写模式挂载。

-s-r 等于-o ro。

-w 等于-o rw。

卸载命令 umount

umount [参数] -t [文件系统类型] [设备名称]

sudo umount -tvfat /dev/sdb1

-a 卸载/etc/mtab 中的所有文件系统。

-h 显示帮助。

-n 卸载时不要将信息存入到/etc/mtab 文件中

-r 如果无法成功卸载,则尝试以只读的方式重新挂载。

-t <文件系统类型> 仅卸载选项中指定的文件系统。

-v 显示执行过程。

编译

gcc编译

gcc [选项] [文件名字]

-c 只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。

-o<输出文件名> 用来指定编译结束以后的输出文件名,如果不使用这个选项的话 GCC 默认编译出来的可执行文件名字为 a.out。

-g 添加调试信息,如果要使用调试工具(如 GDB)的话就必须加入此选项,此选项指示编 译的时候生成调试所需的符号信息。

-O 对程序进行优化编译,如果使用此选项的话整个源代码在编译、链接的的时候都会进 行优化,这样产生的可执行文件执行效率就高。

-O2 比-O 更幅度更大的优化,生成的可执行效率更高,但是整个编译过程会很慢。

gcc main.c –o ** (指定生成的可执行文件名字为**)

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hi小瑞同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值