[Linux专题] Linux使用入门
2019-11-10 本文已影响0人
ccczyl2006
Linux基本概念
-
Linux的核心为内核,主要包括内存管理,软件程序管理,硬件设备管理以及文件系统管理.常用的shell:bash shell zsh tcsh ash等.常用的桌面环境kde gnome等.
-
Linux的一般的文件系统,文件系统从/根目录开始,常用的目录如下:
/ 虚拟目录的根目录 /bin: 二进制目录,主要存放GNU用户级别工具,如常用的linux工具命令ls sed mkdir /sbin: 二进制目录,主要存放GNU系统级别工具,如常用的ifconfig fdisk等 /boot: 启动目录,存放启动文件. /dev: 设备目录 在此目录下创建设备节点 /etc: 系统配置文件目录 /home: 自定义用户的根目录.如创建yjf用户,则会在此创建yjf目录 /lib64或者/lib: 库文件 /mnt: 挂载点目录.如挂载cd-rom或者u盘等 /opt: 存放用户可选的软件包 /tmp: 临时目录 /usr: 用户安装软件目录 /var: 存放变化文件,如日志等 /root: root用户跟目录 //3 绝对路径:从/开始的路径为绝对路径.相对路径:不从/开始 从文件夹开始.其中.代表当前目录. ..代表当前目录的上级目录
常用命令
- 命令的通用帮助信息,使用
man 命令
或者命令 --help
命令显示帮助信息.如具体的ls命令可使用man ls/ls --help
文件和目录相关命令
-
ls
基本列表功能,显示当前文件夹下的文件或者目录信息,支持以下选项.对于单字母参数,可使用-连接多个参数.如-sail通用格式: ls [options] [args] options支持以下常用的选项, -a 显示所有(包括隐藏) -l(按长列表输出) -s(显示文件大小) -R(递归显示目录中的内容,大目录慎用) yjf@vbox:~$ ls -sail total 36 532501 4 drwxr-xr-x 4 yjf yjf 4096 Aug 23 15:37 . 524290 4 drwxr-xr-x 3 root root 4096 Aug 23 15:05 .. 529833 4 -rw------- 1 yjf yjf 819 Aug 24 10:49 .bash_history 532504 4 -rw-r--r-- 1 yjf yjf 220 Apr 5 2018 .bash_logout //对于文件显示,各选项代表意义如下: 532501-索引 drwxr-xr-x d代表目录 -代表文件 l 软连接. 后面跟着的9个字符,3个分一组表示当前用户 组内的其他用户和其他用户对该文件的读写执行权限. 按读写执行顺序排序.rwx表示有读写执行权限 没有相应的权限使用-代替. yjf yjf表示该文件所属的用户和组 //args 参数 不带参数表示对当前文件夹显示. 可以跟具体的文件或者目录. 支持通配符过滤显示 支持?(单个字符) *(0个或者多个字符通配符) yjf@vbox:~$ ls -sail .bash* 列出当前文件夹下以.bash开头的文件.
-
cd
,mkdir
,rm
,mv
,cp
等命令使用//1 cd 进入目录 可以是绝对目录或者相对目录 cd ~ 进入家目录. .表示当前目录 ..表示上级目录 yjf@vbox:~/.ssh$ cd ~ yjf@vbox:~$ cd /etc //2 mkdir用于建立文件夹 -p参数可递归的建立多个文件夹 yjf@vbox:~$ mkdir dir1 yjf@vbox:~$ mkdir -p d1/d2/d3 //3 rm可用于删除文件 -f参数表示强制删除 rm删除文件夹必须带-r参数. yjf@vbox:~$ rm -rf d1 //4 mv用户移动文件,文件夹或者重命名 yjf@vbox:~$ mv gcc.c gcc.java //移动到当前目录下就相当于重命名 yjf@vbox:~$ mv gcc.java ./dest1/ //移动文件 支持多个文件 yjf@vbox:~/dest1$ mv d1 ~/ //移动d1目录下的文件或者目录(包括子目录)到家目录下. //5 cp命令用于拷贝文件或者目录 yjf@vbox:~$ cp .sudo_as_admin_successful d1 //单个文件拷贝 源->目的 yjf@vbox:~$ cp -r d1 dest1 //递归拷贝d1下的文件(包括子目录)必须使用-r参数.
-
touch
,stat
,file
用于创建文件和修改文件时间戳,查看相关的文件信息.//1 创建文件 touch filename 另一个功能对于已经存在的文件更改时间戳 yjf@vbox:~$ touch document.log //2 stat file //查看文件的统计信息 包括最近访问 最近更改等信息 可包括目录 //3 file file //查看文件的类型:包括文件夹 文本文件 可执行文件等类型
-
cat
,more
,less
,head
,tail
相关命令查看文件内容.//常用于文件内容查看的相关命令 //more应用于大文件,分页查看,使用q退出. less命令为more的高级版本. yjf@vbox:~$ more file1 //1 cat命令用于查看文件 不适用于大文件 因为前面的内容会一闪而过. -n参数加行号 -b参数忽略空白行加行号. yjf@vbox-ubuntu:~$ cat -nb .viminfo //2 head和tail用户查看指定文件的前或者后n行,部分查看功能. yjf@vbox:~$ tail -n20 .viminfo yjf@vbox:~$ head -n20 .viminfo yjf@vbox:~$ tail +20 .viminfo //显示从20行到末尾. //3 cat 显示文件内容到标准输出 支持以下选项 yjf@vbox:~$ cat -n file1 //每行前面加行号 yjf@vbox:~$ cat -b file1 //空白行不编号 yjf@vbox:~$ cat file1 file > total //合并file1/file文件至total文件
-
find
,which
,locate
文件查找相关的操作//1 which主要在配置的环境变量$PATH指定的目录中查找,主要用于定位可执行程序的具体位置 yjf@vbox:~$ which ps /bin/ps //2 find 以及locate命令 //2.1 find命令就是给定的目录下查找符合特定条件的文件, locate就是find的-name参数版本. /** * find命令的标准格式: find [查找路径] [查找条件] [处理动作] * 1 查找路径:配置需要查找的目录, 未指定的情况下,默认在当前目录. * 2 查找条件: 指定的查找标准,可以是文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件.查找条件可按以下指定的参数进行: * 2.1 -name 按名称查找.支持通配符?代表1个字符 *代表任意个字符. -i参数表示不区分大小写. -regex 基于正则表达式查找 正则匹配整个路径(包括文件夹以及文件) * 2.2 -user -group分别表示按照用户和用户组查找. * 2.3 -type 按照文件类型查找 f文件 d文件夹 l软连接 s套接字 b块文件 * 2.4 -size 按照文件大小进行查找.5M表示[4M,5M) -5M表示[0,5M] +5M表示[5,+Q) * 3 处理动作: 对符合条件的文件进行的处理动作.默认为-print打印出来. * 3.1 -print 默认 -ls列出 -delete删除 exec COMMAND {} \;(执行具体的命令 {}代表查找到的文件) */ yjf@vbox:~$ find -name file* yjf@vbox:~$ find -iname file* //不区分大小写查找file开头的文件夹或者文件 yjf@vbox:~$ find -user yuanjianfeng -name file* -ls yjf@vbox:~$ find -iname file* -type d -ls
grep命令详解
-
grep命令为基于正则表达式的文本全文搜索工具,可针对标准的文本文件,其他方式的文本输入进行搜索 以行为单位进行标准输出.
-
通用命令格式:
grep [options] PATTERN [file1 file2...]
支持在多个文件中搜索.常用的选项如下所示://常用的选项如下: yjf@vbox:~/linux$ grep "test" greptest //文件greptest中寻找 只要行内存在test的就打印出来 yjf@vbox:~/linux$ grep -n "test" greptest //-n选项除打印出该行的文本外前面加行号 yjf@vbox:~/linux$ grep -in "test" greptest //-i选项表示不区分大小写 yjf@vbox:~/linux$ grep -wi "test" greptest //-w单词匹配 如寻找的test包含在某个单词中 则算不匹配 yjf@vbox:~/linux$ grep -v "test" greptest //-v表示不符合条件的行打印出来 yjf@vbox:~/linux$ grep -in -A1 -B2 age:18 greptest //-An -Bn -Cn 表示显示匹配到的行After后n行 Before前n行 C表示前/后n行 yjf@vbox:~/linux$ grep -qi "age:18" greptest //-q表示静默模式,不输出任何匹配的信息 用在shell脚本中 使用$?输出匹配情况 0表示有匹配 1表示无匹配 yjf@vbox:~/linux$ echo $? 0 yjf@vbox:~/linux$ grep -ic "test" greptest //-c表示匹配的行数 不打印出匹配到的行文本
系统相关操作命令
-
用户和组操作,包括用户的新增,删除,修改密码以及更改用户组等情况.默认的用户信息存放在
/etc/passwd
文件下.命令如下://1 新增用户 useradd username 可以包括以下参数: -m 指定建立家目录 -g 指定所属的组 默认不加该参数表示租号与用户名一致 -G 指定用户所属的附加组 //2 修改指定用户的密码,按提示输入两次密码即可. yjf@vbox:~$ passwd yuanjianfeng //3 删除用户 userdel -r jack -r参数可以指定同时删除用户目录. yjf@vbox:~$ userdel -r yuanjianfeng //4 修改用户所属的组 usermod -g指定主组 -G指定附加组 yjf@vbox:~$ usermod yuanjianfeng -g yuanjianfeng -G mysql //4 groups username 显示username用户所属的组 yjf@vbox:~$ groups yuanjianfeng //5 群组相关的操作 groupadd groupdel组的增加的删除
-
文件改变属组或者权限命令.
/** * 使用ls命令查看文件信息,将提示如下信息: * -文件 d目录 r读 w写 x执行 rwx都有对应的二进制为111 八进制为7 * 第一组rwx代表文件的属组(yjf)拥有rwx权限 * 第二组rwx代表同属于yjf组的其他用户所拥有的权限 * 第三组rwx代表其他用户所拥有的权限 */ yjf@vbox:~$ ll total 64 -rw------- 1 yjf yjf 820 Apr 11 14:09 .bash_history //1 权限修改使用chmod命令 //一种是数字表示法 另一种为符号模式(u代表用户 g代表组 o代表其他 a代表所有 +增加 -减少 =赋值) 支持参数-R表示递归处理所属的文件夹以及子文件夹. yjf@vbox:~$ chmod 777 d1 -R //递归处理d1以及下述文件的权限为777.即所有用户具有wrx权限. 数字表示法4代表r 2代表w 1代表x yjf@vbox:~$ chmod a=x dest1/ -R //=赋值会先清空所有权限 再赋值 yjf@vbox:~$ chmod o-rw dest1/ //其他用户减少rw权限 //2 chown 改变文件所属的用户和组 -R可以递归对文件夹以及子文件夹 yjf@vbox:~$ chown yuanjianfeng:yuanjianfeng
Vim文本编辑
-
安装使用centos的命令
yum install vim
和ubuntu命令sudo apt install vim
-
Vim使用的三种模式:命令模式(进入Vim的默认模式) 编辑模式(进行文本编辑) 底线命令模式(可以进行保存等工作) 三种命令模式可进行切换如下图:
-
命令模式下的操作(一般模式可用的光标移动、复制粘贴、搜索替换等)
-
gg
和G
:跳转到行首,行尾 -
nG
,n<Enter>
:跳转到指定的第n行(配合:set nu
显示行号)以及跳转到当前行下的第n行. -
ctrl+f
和ctrl+b
:向下和向上翻页. -
h
,j
,k
,l
:光标向左,下,上,右移动一个字符.前面可以带数字n表示进行移动n个字符. -
0
,$
:移动到光标所在行的行首和行尾. -
u
,.
:撤销上次操作和重复上次操作. -
x
,X
,nx
,nX
:删除光标所在字符,光标前的字符.带n表示可以删除向后或者向前n个字符. -
dd
,ndd
:删除光标所在行以及光标所在往下的n行. -
dgg
,dG
,d0
,d$
:分别删除光标所在到行首的行,到行尾的行,到该行行首的字符和到该行行尾的字符. -
yy
,nyy
:复制光标所在行以及光标所在往下的n行. -
ygg
,yG
,y0
,$
:复制光标所在到行首的行,到行尾的行,到该行行首的字符和到该行行尾的字符. -
p
,P
:在光标所在行下方/上方粘贴拷贝的内容.
-
-
命令模式切换到底线指令行模式
-
:w
,:w!
:改动写入文档/强制写入 -
:q
,:q!
:离开(未改动),强制离开(修改的将被丢弃) -
:wq
:保存并退出 -
:w filename
:另存为filename文件 -
:n1,n2 w filename
:文档的n1行到n2行另存为filename文件. -
:set nu
,:set nonu
:显示行号以及关闭行号. -
:! command
:暂时离开vi执行命令.
-
-
命令模式到插入模式
-
i
,I
:光标所在处输入和行首输入 -
a
,A
:光标所在下一个字符数开始输入和行尾输入 -
o
,O
:光标所在行以及下一行输入. -
r
,R
:光标所在字符替换和一直替换 -
Esc
:返回到命令模式
-
-
底线模式下的查找替换
/ ?
-
/word1
:光标所在行向下搜索.回车后按n则继续往下搜索 -
?word1
:光标所在行向上搜索.回车后按n则继续往下搜索 -
:n1,n2s/word1/word2/g
:n1-n2行内的word1替换为word2 -
:s/word1/word2/g
和:s/word1/word2/gc
:全文word1替换为word2 带c表示确认
-