Linux命令学习

目录与文件

ls

  • 列出目录的内容
-a      列出隐藏文件,文件中以“.”开头的均为隐藏文件,如:~/.bashrc
-l      列出文件的详细信息
-R    连同子目录中的内容一起列出
  • 文件类型
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
s socket文件,网络套接字
p 管道
  • 操作权限
r 读
w 写
x 可执行。对于目录,表示进入权限
  • 访问权限后面的数字表示与该文件共享inode的文件总数,即硬链接数

cd

change dir 改变当前所在路径
cd  ~   :返回当前用户家目录
cd  /   :返回根目录
cd ..  :返回上层目录
cd -  :返回上次访问的目录
cd  相对路径  :进入到相对当前位置的目录
cd  绝对路径  :进入到指定的绝对路径

which

which

pwd

image-20221104163658130

mkdir

  • 创建目录(可以一次创建多个)
-m, --mode=模式
	设置文件模式(类似chmod),而不是 rwx 减 umask
-p, --parents
	如果目录已存在,不报错,且按需创建父目录
-v, --verbose
	为每一个已创建的目录打印信息
-Z     将每个创建的目录的 SELinux 安全上下文设置为默认类型
--context[=CTX]
	类似 -Z,或者如果指定了上下文,则将 SELinux 或者 SMACK 安全上下文设置为指定类型
--help 显示此帮助信息并退出
--versionq 显示版本信息并退出
  • 可以创建多级目录

    mkdir -p a/b/c

rmdir

  • 删除空目录,可以一次删除多个
--ignore-fail-on-non-empty
	忽略每一个仅因目录非空而导致的错误
-p, --parents
	删除目录及其路径上的目录;
	比如,'rmdir  -p  a/b/c' === 'rmdir a/b/c a/b a'
-v, --verbose
	为每一个处理过的目录输出诊断信息
--help 显示此帮助信息并退出
--version 显示版本信息并退出

touch

touch [OPTION]… FILE…
将每个文件的访问及修改时间都更新为目前的时间
除非提供了-c-h参数,如果文件不存在,则创建一个字节数为0的文件。

-a 仅更改文件访问时间
-c, --no-create 不要创建任何文件
-d, --date=字符串 使用指定字符串所表示的时间而非当前时间
-m  仅更改文件修改时间
-r, --reference=文件 使用指定文件的时间代替当前时间
-t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] 代替当前时间
-h, --no-dereference 影响所有符号链接而非被引用的文件(

rm

删除文件:rm file
删除目录:rm -rf dir

-r, -R, --recursive 递归地移除目录及它们的内容
-d, --dir 删除空目录
-v, --verbose 解释正在发生的情况
-f, --force  忽略不存在的文件和参数,从不提示
-i  在每次删除前提示

image-20221104165417612

mv

  • 文件重命名 mv file1 file2
  • 移动文件 mv file1 ~/(路径)

cp

  • 拷贝文件:cp file1(路径) file2(路径)
  • 拷贝目录 : cp dir1 dir2 -r

cat

cat filename
查看文件里内容,输出到终端,如果cat时没跟文件名,则读标准输入,遇到\n后,输出到标准输出,终端下输入Ctrl-d表示结束

image-20221104171450022

more

more filename
查看文本文件的内容,屏幕显示完一屏就等待用户按下任意键再滚动到下一屏,如果中
途不想继续看下去了,可以按Ctrl+C或q终止显示。

less

less filename
查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如果中途不想继续看下去了,可以按Ctrl+C或q终止显示。

head

显示指定文件的前面几行。
image-20221104172154147

tail

显示文件的最后几行。
image-20221104172450295

ln

  • ln -s 产生符号链接
  • ln 产生硬链接

tree

Ubuntu下安装 sudo apt-get install tree
按结构树的形状显示目录和文件

wc

用来计算文件的字节数、字数、行数
若不指定文件名称或文件名为’-',表示从标准输入设备读取数据

-c, --bytes 输出字节统计数
-m, --chars 输出字符统计数
-l, --lines  输出换行符统计数
-w, --words 输出单词统计数

image-20221104173533316

od

od(octal dump)命令默认为八进制字节形式。如果指定了多于一个文件,将它们以列出的顺序连接起来作为输入
od [-A 地址进制] [-t 显示格式] 文件名
默认进制 8进制

-A ( 地址进制)按指定的进制显示地址信息;
    o:八进制(系统默认值)
    d:十进制
    x:十六进制
    n:不打印位移值
-t 指定数据显示的格式。
    c:ASCII字符或反斜杠序列(如\n)
    d:有符号十进制数
    f:浮点数
    o:八进制(系统默认值)
    u:无符号十进制数
    x:十六进制数

image-20221104174236746

du

显示目录的大小

-m  M
-k  K
-b  B

image-20221104174717208

df

查看磁盘的使用情况
df --block-size=GB
df --block-size=MB

image-20221104200859786

文件属性和用户用户组

whoami

查看当前登陆用户

whoami

chmod

改变文件模式

image-20221104201632806chmod [who] [+|-|=] [mode]
chmod a+w filename
设置一个文件允许所有用户可写

image-20221104204831614

  • 数字设定法

image-20221104203410846

chown

chown [OPTION]… [OWNER:GROUP] FILE…

OPTION的主要参数:
    -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
    -v 显示chown命令所做的工作。

image-20221104210658918

chgrp

chgrp [OPTION]… GROUP FILE…

image-20221104211141670

查找与检索

find

find [OPTION] path… [expression]

image-20221104211721802

grep

grep [options] PATTERN [FILE...]

[options]部分包含的主要参数:
    -c:只输出匹配行的计数。
    -I:不区分大小写(只适用于单字符)。
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    -R: 连同子目录中所有文件一起查找。

软件安装

apt-get

sudo vi /etc/apt/sources.list 更新源服务器列表
sudo apt-get update 更新源,包资源索引文件放在/var/lib/apt/lists/
sudo apt-get upgrade 更新已安装的包
sudo apt-get install package 安装包
sudo apt-get remove package 卸载包
sudo apt-get remove package --purge 卸载包,包括配置文件等
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装(fix-missing)
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖

deb包安装

安装deb软件包命令: sudo dpkg -i xxx.deb (--install)
删除软件包命令: sudo dpkg -r xxx.deb (--remove)
连同配置文件一起删除命令: sudo dpkg -r --purge(-P) xxx.deb
查看软件包信息命令: sudo dpkg -i xxx.deb (--info)
验证包的完整性:sudo dpkg -V xxx.deb (--verify)
查看系统中已安装软件包信息命令: sudo dpkg -l

源码安装

1. 解压缩源代码包
2. 进入源码包目录,参考README文件
3. ./configure 检测文件是否缺失,创建Makefile,检测编译环境
4. make 编译源码,生成库和可执行程序
5. sudo make install 把库和可执行程序,安装到系统路径下

压缩包管理

tar

档案文件(压缩包)管理程序

tar [操作参数+选项] 文件或者目录

  • 操作参数
	c --create 创建新的压缩包
	r --append 给压缩包追加文件
	t --list 列出压缩包的内容
	u --update 更新文件
	x --extract 从档案文件中释放文件。
  • 常用选项
f --file 使用档案文件或设备
v --verbose 详细报告tar处理的文件信息
w --interactive 每一步都要求确认。
z --gzip 
j --bzip2
J --xz

image-20221104221813900

image-20221104223030387

rar

需要安装 sudo apt install rar

rar <command> [-<switch 1> -<switch N>] archive [files...] [@listfiles...] [path_to_extract]

image-20221104224216694
image-20221104224426567

zip

image-20221104224738393

进程管理

who

查看当前在线上的用户情况。
image-20221104225011010

ps

image-20221104225713236

image-20221104230226104

jobs

用来显示当前shell 下正在运行哪些作业(即后台作业)

fg

fg [job…]

把指定的后台作业或挂起作业移到前台运行。

bg

bg [job…]
把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带%号。

kill

  • 向指定进程发送信号
    kill [ -signal | -s signal ] pid ...

  • 查看信号编号
    kill -l [ signal ]

image-20221104230853428

env

查看当前进程环境变量

vim ∼/.bashrc 配置当前用户环境变量
vim /etc/profile 配置系统环境变量,配置时需要有root权限

image-20221104231615354

用户管理

创建用户

-s 指定新用户登陆时shell类型
-g 指定所属组,该组必须已经存在
-G 指定附属组,该组必须已经存在
-d 用户家目录
-m 用户家目录不存在时,自动创建该目录

image-20221104232612593

设置用户组

image-20221104232901544

设置密码

sudo passwd ghost1

切换用户

su username

root用户

sudo su

删除用户

userdel 选项 用户名
image-20221104233221426

网络管理

ifconfig

1.查看网卡信息 
	ifconfig
2.关闭网卡 eth0
	sudo ifconfig eth0 down
3.开启网卡eth0 
	sudo ifconfig eth0 up
4.给eth0配置临时IP
	sudo ifconfig eth0 IP

相关文件

/proc/net/dev
/proc/net/if_inet6
ghost-linux@ghost-linux:~$ sudo cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80       lo
fe80000000000000c11f7e1ed3897604 02 40 20 80    ens33

ping

ping [选项] 主机名/IP地址

netstat

netstat [选项]

-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。

nsleekup

nslookup name

finger

-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。

磁盘管理

mount

mount [-t vfstype] -o options device dir

  • 从光盘制作光盘镜像文件。
    cp /dev/cdrom /home/username/mydisk.iso
    dd if=/dev/cdrom of=/home/username/mydisk.iso

  • 文件和目录制作成光盘镜像文件
    mkisofs -r -J -V mydisk -o /home/username/mydisk.iso /home/username/ mydir

  • 建立一个目录用来作挂接点(mount point)
    mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
    使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。

  • 挂载U盘

1.检测存储设备名称
	sudo fdisk -l
2.挂载存储设备sdb1到挂载点/mnt目录
	sudo mount  /dev/sdb1    /mnt
3.访问/mnt
4.卸载/mnt
	sudo umount /mnt

umount

sudo umount 挂载点

dd

  • 将文件sfile拷贝到文件 dfile中。
    dd if=sfile of=dfile
  • 创建一个100M的空文件
    dd if=/dev/zero of=hello.txt bs=100M count=1

常用服务器构建

ftp

1.安装vsftpd服务器
	sudo apt-get install vsftpd
2.配置vsftpd.conf文件
	sudo vi /etc/vsftpd.conf
3.重启服务器,重新加载/etc/vsftpd.conf配置文件
	sudo /etc/init.d/vsftpd restart
4.进入你家目录下创建一个空目录
	cd ~
	mkdir ftpfile
	chmod 777 ftpfile
5.测试上传功能,登陆ftp服务器,进入到ftpfile目录
	ftp IP
	cd ftpfile
6.上传命令,可以把你当前目录下的文件上传到ftp服务器的ftpfile目录
	put somefile
主要指令
    put 上传文件
    mput 上传多个文件
    get 下载文件
    mget 下载多个文件
    mirror 下载整个目录及其子目录
    mirror –R 上传整个目录及其子目录
    !command 调用本地shell执行命令command

image-20221025211049740

image-20221025211340017

nfs

通常做系统移植时可以挂载文件系统

1.安装nfs服务器
	sudo apt-get install nfs-kernel-server
2.设置/etc/exports配置文件
	/home/用户名/nfs *(rw,sync,no_root_squash)
	sudo vi /etc/exports
3.在用户目录下创建nfs目录
	mkdir /home/用户名/nfs
4.重启服务器,重新加载配置文件
	sudo /etc/init.d/nfs-kernel-server restart
5.在/home/用户名/nfs目录下创建测试文件hello
	cd /home/用户名/nfs
	touch hello
6.测试服务器,把服务器共享目录nfs挂在到/mnt节点
	sudo mount -t nfs -o nolock -o tcp IP:/home/用户名/nfs /mnt
7.进入/mnt目录可以看到hello文件,表示构建成功
8.卸载网络共享目录
	sudo umount /mnt

ssh

可以远程登录linux终端

1.安装ssh服务器
	sudo apt-get install openssh-server
2.远程登陆
	ssh 用户名@IP

telnet

关机重启

poweroff

reboot

shutdown

shutdown -t 秒数 [-rkhncfF] 时间 [警告讯息]

其他命令

clear

alias

alias [-p] name=value …
将value字符串起个别名叫name,以后在命令行输入name,shell自动将其解释为value

image-20221104235838131

echo

umask

image-20221105000052697

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ghost_199503

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

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

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

打赏作者

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

抵扣说明:

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

余额充值