# linux 入门必备

    技术2022-07-12  69

    linux 入门必备

    登录后输入 ip addr 查看本机得ip地址 ping www.baidu.com 查看网络是否连通 ctrl+c 停止 cmd 模式下 ipconfig /all 查看自己电脑主机信息 ##或 - 表示注释开始 tab 是查看命令帮助 比如ping命令 输入p tab

    通配符共有3个: “*”,“?”,“[]” 通配命令

    \* - 用于匹配文件名中任意长度的字符串; ? - 只匹配一个字符; [] - 用于匹配所有出现在方括号内的字符。可以使用短线“-”来指定字符集范围。如:ls text[1-3]或 ls test[a-z] ls 表示显示这个目录下得文件

    man 帮助命令 比如 man ping 查看这个命令得帮助 也可指定是哪一卷得内容

    目 录内 容/usr/share/man/man1普通命令和应用程序/usr/share/man/man2系统调用/usr/share/man/man3库调用,主要是libc()函数的使用文档/usr/share/man/man4设备驱动和网络协议/usr/share/man/man5文件的详细格式信息/usr/share/man/man6游戏/usr/share/man/man7文档使用说明/usr/share/man/man8系统管理命令/usr/share/man/man9内核源代码或模块的技术指标

    man 命令在显示手册页时实际调用less 完成显示,J K可以上下翻动,空格用于向下翻页。Q键退出。


    su 表示切换 sudo 表示超级特权用户(root)(如果是第一次需重置密码 :~$ sudo passwd root)

    sudo su 切换到特权用户 su 用户名 切换到普通用户 -------- pwd 显示当前目录 /表示根目录 (首位就是根目录,中间表示分割符) cd表示切换目录 cd / 到达根目录 cd .. 返回上一级 cd 或cd~ 进入主目录 cd ./*进入当前目录下得子目录、 ------- 用法: ***\*ls . . .[OPTION] . . .[FILE]. . .\**** 常用参数: 1.不带任何参数 列出当前目录下的所有文件和子目录 2. -F 分类显示,方便阅读 3. -a 显示隐含文件 4. -l 查看文件的各种属性 dir 和 ls 差不多,就比ls 功能少 ​ vdir 相当于 ls -l 命令

    date 查看当前时间


    *创建命令 mv*

    touch 创建文件、 echo '1' > 文件名 往文件里输入数据一个字符 cat xxx 查看文件得内容 vi xxx 编辑这个文件 按esc shift+: wq 结束

    mkdir 创建目录 mkdir -p /bin/bin 创建多级目录 mkdir -p bin/bin 创建多级目录

    mv 移动 mv 目录名 目录名


    *移动命令 mv*

    用法: mv ***\*. . .[OPTION] 源文件 目标文件\**** 常用参数: 不带任何参数 将源文件移动到目标文件,注意:如果目标文件存在则***\*替换\****; -i 将源文件移动到目标文件,如果目标文件存在则提示是否***\*替换\****; -b 将源文件移动到目标文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~

    *复制命令 cp*

    用法: cp ***\*. . .[OPTION] 源文件 目标文件\**** 常用参数: 不带任何参数 将源文件复制到目标文件,注意:如果目标文件存在则***\*替换\****; -i 将源文件复制到目标文件,如果目标文件存在则提示是否***\*替换\****; -b 将源文件复制到目标文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~ -r 将子目录及其中的文件一起复制到另一个子目录下

    *删除命令 rm*

    删除命令可以一次永久性删除一个或几个文件(包含目录) 用法: rm ***\*. . .[OPTION]. . . [FILE]. . .\**** 常用参数: 不带任何参数 删除文件或相应目录,不给予任何提示; -i 删除文件或相应目录,删除时进行提醒; -f 强制性删除文件或相应目录; -r 将子目录及其中的文件一并删除。***\*(慎用!特别时在root 权限下)\****

    *文件链接 ln* 相当于定义了别名 链接之后相当于两个文件指向同一个东西

    ln 建立文件链接 用法: ln ***\*. . .[OPTION] 源文件 目标文件\**** 常用参数: 不带任何参数 创建硬链接,ls -i 查看可以看到两个文件的inode 值一致;硬链接 -s 创建软链接,即别名,如果源文件删除,则软链接(别名)也无 ​ 法访问。软连接

    *改变文件所有权 chown 和 chgrp*

    drwxr-xr-x 2 root root 4096 71 23:32 video root root 为用户和属组 第一位表示 目录 d 链接 l 文件什么都没有 rwx 这三位 表示 r 读 w写 x执行得权限 r-x 同组得其他成员 有的权限 r-x 其他组得成员对文件有什么权限 改变文件所有权 chown 和 chgrp chown 命令用于改变文件的所有权。 用法: chown . . .[OPTION] [OWNER][:[GROUP]] FILE . . . chown root 文件名 改变用户 chown : root 文件名 改变属组 chown : 文件名 用户名 改变文件得属组,和用户 常用参数: 不带任何参数 改变单个或多个文件的属主和属组; -r 改变一个目录及其下所有文件(和子目录)的所有权设置。 chgrd 用于单独设置文件的属组。 用法: chown ***\*. . .[GROUP] FILE . . .\**** chgrp nogroup text.txt

    *改变文件权限 chmod*

    chmod 用于改变一个文件的权限。它以“用户组 +/- 权限”的表达方式来增加/删除相应的权限。具体来说,用户组包括了文件属主(u)、文件属组(g)、其他人(o) 和所有人(a),而权限则包括读取(r、w、x) 读写执行 用法: chmod . . .[OPTION] . . .[FILE]. . . chmod 666 第一个6表示用户 第二个6表示组 第36表示其他人 都为6表示所有人得权限rwx 都可用 例:chmod u+x test.txt chmod u-x test.txt chmod ug=wr、o=r text.txt useradd xx 增加用户 groupadd xx 增加组 useradd -g 用户得名字 组得名字 增加用户并指定组 passwd 用户得名字 为这个用户设置新密码

    阅读文件的头部和尾部: head 和 tail\

    用法: head / tail 文件名 常用参数: 不带任何参数 显示文件的头部/尾部 10; -n 按指定的行数显示文件的头部/尾部 ;

    *查看文本文件: cat 、more 和 less*

    cat命令用来一次性查看全部文本文件的内容,后跟文件名作为参数.也可以带上 -n 显示每行的行号。如果文件长达几十上百页,不建议使用 cat. more 命令用来分页查看文本文件。空格翻页;回车向下滚动一行;Q键退出。 less更人性化的文本阅读工具。

    *编辑器: vim*

    vim 是UNIX 和 Linux 上标配的编辑器,功能十分强大。 用法 : vim file 或 vim 1.编辑保存文件 分插入和命令两种模式。

    *插入模式*

    操作:输入字符,并可以按光标键移动输入字符位置.

    命令操作a在光标后插入i在光标所在位置插入o在光标所在位置的下一行插入Esc进入命令模式:进入行命令模式

    *命令模式*

    执行除输入字符之外的所有操作,包括保存、搜索、移动光标等。 vim 启动默认是在命令模式,如果在编辑模式,需要按 Esc 切换回命令模式. 可以使用光标键控制上下左右移动,或者 h、j、k、l移动。

    *保存和退出*

    保存文件、退出等需要切换到行命令模式,在插入模式下输入 Esc 再 输入 :w :q 或 :wq 等。 前提:须切换到命令模式。注意组合命令执行的顺序:w ->q ->! 命令操作:w保存文件:w filename另存为filename:q退出Vim:q!强行退出,放弃保存

    *搜索字符串*

    前提:须切换到命令模式 /string 用于向下搜索一个字符串 按n往下搜索 ?string 用于向上搜索一个字符串 如果需要启动或关闭大小写敏感,执行: :set ignorecase 或 :set noignorecase

    *替换字符串*

    前提:须切换到命令模式。set nu显示行号 语法 : :[range]s/pattern/string/[c、e、g、i] pattern 被替换得字符串 string 替换得字符串 这条命令将 pattern 所代表的字符串替换成 string。开头的range 用于指定替换作用的范围,如“1,10” 表示从第1行到第10行,“1,$”表示从第1行到最后一行,也就是全文。全文也可以用 “%” 表示。

    最后的方括号是可选选项,含义如下:

    标 志含 义c每次替换前询问e不显示错误信息g替换一行中的所有匹配项(这个选项通常需要使用)i不区分大小写

    如Windows 环境下的源码经常会有 “^M”的字符,要清除可以使用下面的命令:

    :%s/^M$//g

    *删除、复制、粘贴*

    前提:须切换到命令模式。

    命令操作x删除光标所在位置的字符dd删除光标所在的行, 2 dd 表示删除2行D删除光标所在位置到行尾之间所有的字符d普遍意义上的删除命令,和移动命令配合使用。例如dw 表示删除光标所在位置到下一单词词头之间所有的字符yy复制光标所在的行y普遍意义上的复制命令,和移动命令配合使用。例如yw表示复制光标所在位置到下一个单词词头之间所有的字符p在光标所在位置粘贴最近复制/删除的内容

    *撤销和重做*

    前提:须切换到命令模式。

    命令操作u撤销一次操作Ctrl+R重做被撤销的操作

    前提:须切换到命令模式。

    语法 : :[range]s/pattern/string/[c、e、g、i]

    *程序员特有配置*

    :syntax on ## 语法高亮 :set autoindent ## 自动缩进 :set shiftwidth=4 ## 设置Tab 键对应的空格数

    查找和定位常用命令

    作用: 在指定范围内迅速查找到文件。 用法: find [OPTION] [path . . .] [expression]

    例:

    find -name test.txt

    【OPTION选项】

    特殊情况才会使用,建议日后查帮助

    常用参数:

    -type 查找时指定文件的类型,可使用参数如下表; -atime n 查找最后一次使用在n天前的文件,n 使用负数表示; -mtime n 查找最后一次修改在n天前的文件; -maxdepth n 查找目录的最大深度 -mindepth n 从指定的目录的第几层深度开始查找 参数含义参数含义b块设备文件f普通文件c字符设备文件p命名管道d目录文件l符号链接

    find ./ -type f 查找普通类型得文件

    stat xx 查看这个文件详细得更改时间 和详细信息

    1.1.1. *更快速的定位文件 - locate 命令*

    作用: 火箭般的速度定位文件。 sudo updatedb 更新数据库 用法: locate xx

    *查找文件内容 - grep 命令*

    作用: 在文件中寻找某些信息。 用法: grep [OPTIONS] PATTERN [FILE...] ## pattern 使用基础正则表达式 sudo updatedb 更新数据库 grep open ./test.c ------------- gcc 文件名 -o hello ##编译源代码,并把可执行文件命名为 hello ./ hello 执行这个生成得文件

    *编译常用选项*

    选 项功 能-c只激活预处理、编译和汇编,生成.o 目标代码文件-S只激活预处理和编译,生成扩展名为.s的汇编代码文件-E只激活预处理,并将结果输出至标准输出-g为调试程序(如gdb)生成相关信息-O等同-O1,常用的编译优化选项-Wall打开一些很有用的警告选项,建议编译时加此选项。

    注意:-c 选项在编写大型程序是必须的,多个文件的源代码首先需要编译成目标代码,再链接成执行文件。如果由多个源文件,工程做法建议采用 makefile 。

    *在Windows让编程效率飞起来*

    *3.1 Ubuntu安装Samba 服务器*

    确认安装: dpkg -l | grep samba 查询是否安装了 dpkg -l | grep为关键字 安装: sudo apt-get install samba samba-common 卸载: sudo apt-get autoremove samba ***\*Samba服务器配置\**** sudo vi /etc/samba/smb.conf 为这个服务器开启路径 进行配置 在文件最后添加 [Share] comment=This is samba dir path=/home/用户得目录名/ writable=yes browseable=yes 退出文件后 命令行 增加samba 用户 sudo smbpasswd -a 用户名 为这个用户增加密码 ***\*启动和关闭\**** 启动Samba服务器: sudo service smbd start 关闭Samba服务器: sudo service smbd stop 若无法访问请执行 sudo apt-get install daemon sudo apt-get install libtalloc2 重启Linux系统即可

    在Windows目录输入 \自己得IP地址 登录到文件侠便可操做linux /home/用户名/ 这个文件侠内得文件

    其他命令

    netstat -ap //查看端口占用情况 ps -ef grep 程序名 //输出这个程序的信息程序名写一半就是同名这一半的所有信息(当前运行的程序)包括id netstat -ap | grep 程序名 //输出程序占用的进程端口等信息 netstat -api //当前所有api占用的情况

    kill 程序id//关闭程序 !命令的开头一部分 \表示将最近执行的命令 以这个开头的重新执行

    Processed: 0.011, SQL: 9