linux基础命令大全

下面是我在学习过程中总结的linux的一些命令

常用命令

cb 格式化源代码

date 当前的时间和日期

cal查看日历

lint 语法检查程序

more type

du 查看磁盘空间状况

ps 查看当前进程状况

who 你的用户名和终端类型

定义变量 name=abc? (bash/pdksh) || set name = abc (tcsh)

mkdir 创建目录

clear 清空当前终端,即将光标移至终端左上角

rmdir 删除目录或rm -r

cd 进入目录
Cd目录切换 cd /相对路径或绝对路径
目录+/ /用来路径划分
Cd+~直接进入当前用户家目录
Cd+-进入上一次所在的目录


文件

mkdir dir创建目录
rmdir dir删除空目录

rm 删除文件
rm –r–用递归的方法删除有子文件的目录

touch—–创建文件——-
chmod //change mode,改变文件的权限

dir列出目录文件

cat 文件名 输出文件内容到基本输出(屏幕 or 加>fileName 到另一个文件)

cp拷贝文件

文件的压缩与打包
打包:tar cvf 名称.后缀—->mylib.tar—–.tar main main.c
tar说明为包文件
压缩 : gzip mylid.tar—->mylib.gz
解压:gzip -d mylib.tar.gz—->mylib.tar
解包:tar xfv mylib.tar—->filelist//将文件释放出来

压缩:tar zcvf mylib.tgz main main.c test—->mylib.tgz//一步完成生成压缩包
解压:tar zxvf mylib.tgz——->filelist //将文件释放出来
tar tf mylib.tar/mylib.tgz//列出所包含文件,而不进行真正的解压工作

more 显示文件

echo 显示指定文本
echo 环境变量
echo+ echoname=thisislinuxecho name

文件传输
sftp
建立连接:sftp user@host
从本地上传文件:put localpath
下载文件:get remotepath
scp
它只提供主机间的文件传输功能,没有文件管理的功能。
复制local_file 到远程目录remote_folder下
scp local_file remote_user@host:remote_folder
sz/rz
是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是window端需要有能够支持ZModem的telnet或者SSH客户端


pwd 显示目录路径命令

Ls—–列出给定目录下的非隐藏文件
Ls-a——所有文件(a为all)

//显示thisislinux
加空格或其他字符用字符串表示方法”“或转义字符\
追加:
name+=”…..”
name=$name”……”


用户

创建用户useradd username
切换用户 su username
进入root用户su

查看用户信息
vim /etc/passwd———->用户id/组id/终端
vim /etc/group———–>一个用户可以同处多个组

useradd -G wang,zhang li———->创建组
wang和zhang属于li这个组
useradd主组
-G副组
-u设定新用户的ID值
-s指定新用户的登陆shell

useradd uname 创建一个新用户,并且创建同名的组,将新用户的主组设置为新创建的组
useradd -g gname uname 创建一个新用户,并且将新用户的主组设置为gname
useradd -G gnames uname 创建一个新用户,并且创建同名的组,将新用户的主组设置为新创建的组,同时将新用户添加到gnames指定的所有组中
useradd -g gname -G gnames uname
创建一个新用户,并且将新用户的主组设置为gname,同时将新用户添加到gnames所指定的所有组中
useradd -g gname -G gnames uname
创建一个新用户,并且将新用户的主组设置为gname,同时将新用户添加到gnames指定的所有组中
userdel uname 删除uname用户,如果有以uname为组名并且其下没有其他用户,同时删除这个组

usermod -g wang xiang 修改用户属的主组
-G将用户添加到-G 所制定的所有组中
passwd uname 修改用户密码

users
两个用户,一个是系统用户,一个是终端用户
who
列出登陆信息
tty是登入系统,pts是登入终端
后面为登陆时间
whoami
登陆此终端的用户
who am i
登陆此终端的用户的信息


磁盘目录

history
history n:n为数字,表示要列出最近的n笔命令列表
history -a:将目前新增的history指令新增入hisfiles中,若没有加入hisfiles则预写入~/.bash_history
history -r:将hisfiles的内容读到目前这个shell的history记忆中
history -w:将目前的history记忆内容写到hisfiles
history -c:将目前shell中的所有history全部消除

df查看磁盘容量
df -h

du查看目录的容量
du -h -d 0~ 只查看一级目录的信息
du -h -d 1~ 只查看二级目录的信息

创建虚拟磁盘
dd 格式:选项=值
例:dd of=test bs=10 count=1
bs指定块大小,count指定块数量

使用mkfs格式化磁盘
例:sudo mkfs.ext4 virtual.ing
将我们的虚拟磁盘镜像格式化为ext4文件系统

使用mount命令挂载磁盘到目录树
sudo mount查看已经挂载的文件

使用fdisk为磁盘分区
sudo fdisk -l查看磁盘分区表信息
sudo fdisk virtual.ing进入磁盘分区模式

使用losetup命令建立镜像与回环设备的关联
例:sudo losetup /dev/loop 0 virtual.ing
ls /dec/loop* 查看所有回环设备
解除:sudo losetup -d/dev/loop

sync将缓冲块数据立即写入磁盘
例:sync -flush file system buffers

exec永久重定向
重定向:0 /dev/stdin 标准输入
1 /dev/stdout 标准输出
2 /dev/stderr 标准错误
例:exec 1 > somefile将后面执行的命令输出定向到某文件中,直到退出当前shell或取消exec重定向


编译链接

预处理:gcc -E hello.c -o hello.i
编译:gcc -S hello.i -o hello.s
汇编:gcc -c hello.s -o hello.o
链接:gcc -o hello hello.o

用file查看相应的文件格式
例:file hello.o

用objdump查看目标文件的结构和内容
例:objdump -h hello.o

size可用来查看ELF文件的代码段,数据段和bss段的长度
例:size hello.o

查看ELF文件的符号表可用readelf、objdump、nm等命令
例:nm hello.o
readelf -s hello.o

用objdump -d可查看.o文件的代码段反汇编结果
例:objdump -d hello.o

使用lld工具查看可执行程序的链接库
例:lld hello

strace ./hello 查看系统调用

gcc编译c++文件
gcc -c hello hello.cpp -lstdc++


文本处理

uniq去重命令,用于过滤或输出重复行,重复指连续重复,不是全文重复

find filename
find /路径

sort排序命令
例:cat /etc/passwd | sort
sort -r反转模式
sort -t’:’ -k 3 -n按特定字段排序,3为第三个字段为数字

wc统计并输出一个文件中行、单词和字节的数目
wc -l main.c//line,统计行数
wc -w main.c//统计单词个数
wc -c main.c///统计字符数
du //统计目录所占大小

grep用于打印出文本中匹配的模式串,它使用正则表达式作为模式匹配的条件
常用参数:-b 将位进制文件作为文本进行匹配
-c 统计与模式匹配的数目
-i 忽略大小写
-n 显示匹配文本所在行的行号
-v 反选,输出不匹配的内容
-r 递归式匹配查找
-An 除了匹配行,还列出后面的n行,n为正整数
-Bn 除了匹配行,还列出前面的n行
–code=auto 将输出的匹配项设置为自动颜色显示

sed执行命令格式
常用参数:s 行内替换
c 整行替换
a 插入到指定行的后面
i 插入到指定行的前面
p 打印指定行,与-n配合使用
d 删除指定行

awk文本处理语言
格式:awk [-F fs] [-v var=value] [-f prog-file | ‘program text’] [file…]
-F为字段分隔符
-v为程序变量
-f为指定程序文件
最后是awk需要处理的文本输入


进程

关于进程处理的命令
sleep n 创建进程,n为整数
sleep n& 创建一个进程并放在后台运行
jobs查看当前终端下进程的进程号
fg &[objname] 将后台的工作拿到前台
bg &[objname] 让运行的进程在后台运行
kill处理进程
常用参数:-1 重新读取参数运行
-2 退出
-9 强制终止该任务
-15 正常的方式终止该任务

top查看系统在进程中的关键信息变化
常用参数:q 退出程序
l 切换平均负载和启动时间的信息
p 根据cpu的使用百分比进行排序
i 忽略闲置和僵死进程
m 根据驻留内存大小进行排序
k 终止一个进程


网络

用netstst检测TCP/IP网络链接及网络接口设备
常用参数:-a 所有sockets
-l 包含网络设备
-n 数字ip
-o 其他信息
-r 路由器
-t 只列tcp sockets
例:netstat -natp 查看tcp网络连接状态
netstat -nactp 动态查看tcp网络连接状态,每秒刷新一次

查看io的命令
iostat


关机命令
-k:并不真正关机
-r:关机后立即重启
-h:关机后不重新启动
-f:快速关机,重新启动时跳过fsck
-n:快速关机,不经过init程序
-c:取消一个已运行的shutdown命令

init 系统级别命令
0:停止运行
1:单用户模式
2:不带网络的多用户
3:字符界面
4:未定义
5:图形界面
6:重启系统


不会使用的命令或函数可以使用man帮助文档

其他快捷键
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值