优秀的编程知识分享平台

网站首页 > 技术文章 正文

编程基础-linux命令(linux命令行编程)

nanyue 2024-07-18 04:03:56 技术文章 87 ℃

1:APT(Advanced Packaging Tool)

ubuntu中功能最强大的命令行软件包管理工具,用于获取、安装、编译、缷载和查询软件包,以及检查软件包依赖关系。一组命令:

apt-get:用于管理软件包,包括安装、缷载、升级等操作

apt-cache: 用于查询软件包

apt-proxy:用于搭建APT代理服务器

apt-show-versions:用于显示系统中软件包的版本信息

apt-config:用于读取APT配置文件的简单工具

apt-cdrom:用于将CD-ROM加入软件源配置文件

(1) apt-get用法

“apt-get subcommands pkgname”

子命令 特定包名

subcommands(子命令):

update:下载更新软件包列表信息。

/etc/apt/sources.list只是列出了服务器的地址,至于这个服务器上到底有哪些软件,你事先不知道。我们可以用命令“ apt-get update”这个命令,来把服务器上有的软件包的列表信息下载下来。

“sudo apt-get update”

upgrade:将系统中所有软件包升级到最新版本。

“sudo apt-get upgrade”

install:安装。下载所需软件包并进行安装配置

“sudo apt-get install vim”

“sudo apt-get install ibus-googlepinyin”

remove:缷载软件包

“sudo apt-get remove ibus-googlepinyin”

autoremove:将不满足依赖关系的软件包自动缷载

source: 源代码。下载某个安装包的源代码

“sudo apt-get source vim”

dist-upgrade:发布版升级。

clean: 删除缓存区所有已经下载的包文件

autoclean:删除缓存区中老版本的已经下载包文件

check:检查系统中依赖关系的完整性

sudo apt-get check

(2)apt-cache命令完成查询软件源和软件包的相关信息

apt-cache subcommands pkgname

子命令 特定包名

subcommands(子命令)

search:根据正则表达式检索软件包

sudo apt-cache search sougou

showpkg/show:获取软件包的常规描述信息

sudo apt-cache show vim

shorsrc: 获取源码包的详细描述信息

sudo apt-cache showsrc vim

depends:获取该软件包的依赖信息

sudo apt-cache depends vim

pkgnames: 列出所有已经安装的软件包的名字

stats:获取软件包的统计数据

2: vim vim 是vi的改进版本。

vi/vim是unix/linux中最基本、最常用、功能最强大的文本编辑器。

vi/vim有两种模式:

输入模式:键盘上所有的输入字符都当成文本内容

命令模式:键盘上所有的输入字符都当成是命令

输入模式->命令模式 :

Esc

命令模式-〉输入模式:

i: insert进入输入模式后,光标不动/

I: Insert 进入输入模式后,光标移到本行的行首。

o: open 向下开路。在光标的下一行,新开一行

O:向上开路。在光标的上一行,新开一行。

a:append追尾。进入输入模式后,光标向后移动一个字符

A:进入输入模式后,光标移动行尾。

vim的命令:

vim的删除与修改命令:

x 删除光标所在的字符

dd : delete删除光标所在的行, "剪切"

ndd: n表示一个数字,删除光标及以下n行

r: (replace)替换光标所在的单个字符

R:(REPLACE)替换光标及后面的多个字符(按Esc退出替换)

vim退出命令

:q (quit)不保存(你没有修改文件内容)退出

:q! 不保存强制退出

:w (write)保存

:w filename 保存内容到指定文件filename中去

:wq 保存并退出

:x 保存并退出

vim撤销命令

u/U undo

vim拷贝和粘贴命令

yy: yanked 将当前行的内容拷入到剪贴板中去

nyy把光标及光标以下n行的内容考入到剪贴板中去。

p : print将剪贴板中的内容贴在光标所在行的后面

P : 将剪贴板中的内容贴在光标所在行的前面

vim搜索命令

/pattern

如:

/abc

n:下一个

N:上一个

显示行号

:set nu

: 行号

光标跳转到特定的行

:$

跳转文件的最后一行

3:获取联机帮助

man commandname/function_name 完整的说明(作者的说明)

info commandname 额外的帮助文档

4: 基本的系统维护命令

sync 同步

shutdown 关机

reboot 重启

passwd [username] 修改密码

su username 切换用户

sudo -s 进入root用户

exit 退出用户或终端

clear 清屏

echo "string" 在标准输出上显示文字

date 输出当前的日期

`` 反捌号, 里面加一个命令,表示引用命令的输出结果

例子:

B=`date`

echo $B

TAB键: 自动补全命令

向上,向下方向键:上一个/下一个命令

5:用户管理

/etc/passwd : 用户的信息

用户名:口令:用户ID(UID):用户组ID(GID):用户主目录(HOME):用户shell

/etc/group:用户组信息,在unix下面分组来管理用户

组名:加密的口令:GID号:成员列表

组名:创建这个组的用户(组长)的名字

GID: 创建这个组的用户(组长)的ID

adduser usrname //创建一个普通用户

adduser --system username // 创建一个管理员用户

passwd username

userdel username //删除一个用户

6:进程管理 process

ps : process status 查看进程的状态信息

-e: every 每一个

-f: full 全部的

ps -ef :查看每一个进程的全部信息

每个进程的信息都保存了一个文件目录当中

/proc/$PID/

top: 以CPU占用率来实时排名

kill:杀死一个进程

kill -9 $PID

7:linux文件系统

文件系统原理

文件属性(i-node)

文件内容

linux文件系统的组织形式: 树状

绝对路径: 以"/"开头的路径,叫做绝对路径

相对路径: 不以"/"开头的路径,叫相对路径

每个目录下面都会有两个特殊的目录:

. :表示当前目录

.. :表示(当前目录的)上一层目录

cd : change directory

cd 目录名/路径名

pwd: 显示当前在哪个目录下

ls : list status把某个文件(包含目录)的状态信息给列出来

ls [OPTIONS] [文件名/目录名]

OPTIONS:

-a : all,所有的,把所有的文件都列出来

在linux下以.开关的文件,视为隐藏文件

-l: 把文件的详细信息给列出来

例子:

-rw-rw-r-- 1 csgec csgec 40 Feb 16 19:44 test.txt

第一个字符表示文件类型:

-: 普通文件(regular file),ASCII文本文件,二进制可执行文件,

d: directory目录(文件夹)

b: block 块设备文件

c: char 字符设备文件

l: link 符号链接文件,指向另外一个文件

p: pipe管道文件

s:socket套接字

下面九个字符rwx表示文件对不同情况下的权限

r:read读的权限

w:write写的权限

x:eXcute可执行的权限,对目录可执行,表示可以进入目录

分三组:

user/group/other

chmod : change mode 改变文件的模式(权限)

chmod 权限 文件

权限的指定有两种方式:

(1) u/g/o/a +/- r/w/x

u:user

g:group

o:other

a: all

+: 加

-: 减

r: read的权限

w: write的权限

x: 可执行的权限

chmod o+rw test.txt

chmod +x test.txt

chmod o-w test.txt

(2) 以八进制的形式表示权限位

chmod 0777 test.txt

chmod 0660 test.txt

chown: change owner 改变属主

chown root:root test.txt

chown 新用户:新组 filename

rm: remove移除

rm [options] DEST

DEST:要删除的目标文件,既可以是普通文件,也可以是目录

options:

-r: recursive(递归),若DEST是目录文件,rm命令递归删除

-f: force(强制)。非交互模式删除。

交互模式:在正式删除前会询问用户是否确定要删除。

非交互模式:不询问用户是否确定删除

cp: copy

cp [options] SOURCE DEST

SOURCE:源文件。 既可以是普通文件,也可以是目录

DEST:目标文件。 既可以是普通文件,也可以是目录

-r -R: recursive递归地拷贝。一般用于拷贝目录

-f:

mv: move移动

mv SOURCE DEST

把SOURCE移动到DEST中去。

例子:

mv 2.txt 4.txt

把2.txt名字改成4.txt

mkdir: make directory 创建一个目录

mkdir 目录名

-p :parent 创建目录时,如果父目录不存在,则一并创建

rmdir: remove directory 删除一个空目录

file: 判定一个文件的类型。在unix文件扩展名不等于类型

显示文本文件内容:

cat 把文本文件的内容全部一次性打印在终端屏幕上。

more 分屏显示一个文本文件的内容, 按Enter一行一行显示,空格键一屏一屏显示

less 分屏显示一个文本文件的内容,方向上/下,q/Q退出

head -num 显示文件的前num行

tail -num 显示文件的后num行

创建链接文件

硬链接ln target link_name

软链接(符号链接, softlink) ln -s target link_name

文件压缩、归档

归档文件:将一组文件或目录保存("打包")在一个文件中去

tar [options] tarfile filelist

-c create 创建一个归档文件

-f file 指定归档文件的名字

-x eXtract 释放一个归档文件

压缩文件:将一组文件或目录压缩成一个文件。

gzipgunzip xx.gz

bzipbunzip .bz2

tar [options] tarfile filelist

-c create 创建一个归档文件

-f file 指定归档文件的名字

-v 显示归档或释放的过程信息

-x eXtract 释放一个归档文件

-z 由tar生成归档文件,然后由gZip压缩

-j 由tar生成归档文件,然后由bzip压缩

例子:

压缩

tar -zcvf 20160217.tar.gz 1.mp3 c_files hardlink.txt

tar -jcvf 20160217.tar.bz2 1.mp3 c_files hardlink.txt

解压

tar -zxvf 20160217.tar.gz -C 目标目录

tar -jxvf 20160217.tar.bz2 -C 目标目录

=>

tar -xvf 20160217.tar.gz -C 目标目录

tar -xvf 20160217.tar.bz2 -C 目标目录

Tags:

最近发表
标签列表