linux
#linux 认识
1 linux 界面介绍
图形界面: Gnome桌面 KDE
文本界面: 需要linux命令
2 界面切换
图形--->文本 ctrl+alt+F3-F6 init3 (可以开启多个文本界面)
文本--->图形 ctrl+alt+F2 init5
级别切换(runlevel) init 5 ;init 3
小知识:1判断有无网络:ping baidu.com
2终端尺寸调节:变大(ctrl shift +) 减小(ctrl -)
3清屏 :(ctrl l)字母‘l’
4 添加KDE桌面
yum grouplist
yum - y groupinstall "name"
3 终端
用户和计算机进行命令交互的窗口.类似于windows cmd窗口
4文本界面提示符详解:
[root@www ~]#
root 当前用户
www 计算机名称或部分名称
~ ~当前路径 表示家目录
#当前为管理员 $普通用户
使用PS1命令修改提示符
#linux目录及基本命令
1 inux目录介绍
boot 存放启动文件
dev 存放设备文件
etc 存放配置文件
home 普通用户家目录,以/home/$username的方式存放
media 移动存储自动挂载目录,以 /media/$device_name的方式来存放
mnt 手动挂载目录
opt 三方软件安装目录
proc 内存系统文件
root 管理员家目录
run 里面的东西是系统运行时需要的, 不能随便删除. 但是重启的时候应该抛弃. 下次系统运行时重新生成
srv 服务相关数据
sys 系统文件
tmp 临时文件夹
usr 存放库文件、文档、命令、用户数据等
var 日志存放
lib 库文件
2命令的格式为:
命令 [命令选项] [参数]
学会看语法:
{必选项}[可选项]
举例
ls -a /tmp 等价 ls –all /tmp
ls 命令
-a 命令选项 简写使用- 全写--
/tmp 参数
3 使用type命令来区分命令是内部还是外部命令:
[root@www ~]# type type
type 是 shell 内嵌
[root@www ~]# type cd
cd 是 shell 内嵌
[root@www ~]# type clear
clear 是 /usr/bin/clear
4 linux命令存放路径
[root@www ~]# echo $PATH (环境变量) #echo 是输出的意思 如echo "hello world"
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
区别:bin的命令任何人都可以使用,sbin的命令称为特权命令,只能管理用使用
5 linux 基本命令
1)清屏命令:clear 快捷键 ctrl+l
2)帮助命令:man
3)进入文件夹命令: cd
4)列出当前目录内容命令:ls [-a -l -d ]
ls –F 文件夹后加/显示
ls –x 按水平对齐方式列出档案
ls –m 以”,”隔开档案
ls –t 按时间排序档案
ls –a 显示隐含档案
ls –l 显示详细信息,此命令等同于ll。
ls –d 显示目录而不是其内容
ls -h 以K、M、B的形式进行显示
ls -R
5)显示主机名:hostname
6)显示日期时间:date [-s %F]
7)显示日历:cal
8)计算器:bc
浮点运算 scale 指定小数点位数
echo "scale=2;100/3"|bc
9)重启命令:reboot shutdown -r init 6
10)注销命令:logout
11)关机命令:halt shutdown -h init 0
12) 显示当前操作系统和机器的信息: uname
13) 显示当前路径: pwd
# 文件和文件夹的命令
文件夹的操作
新建文件夹:mkdir
命令选项
-v 显示信息 mkdir -v wanghua
-p 递归创建 mkdir -vp wanghua/wang/hua
文件夹改名:mv
文件夹查看:ls
文件夹的删除:rmdir
rmdir 空文件夹的删除 rmdir name
-p 多级空的文件夹的删除:rmdir -p wanghua/a/b(后面要写全) 递归删除
rm -rf 非空文件夹的删除:rm -rf text2
文件夹移动:mv
文件夹拷贝:cp [-r -p -f]
文件的操作
文件的新建(修改3time):touch filename
inode(数据信息) :stat filename
命令选项:
-a 只修改文件的access(访问)时间.
-c 或--no-create 不创建不存在的文件。
-d 使用指定的日期时间,而非现在的时间
-m 指修改Modify(修改)时间,而不修改access(访问)时间
-r file 使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify)
-t 将时间修改为参数指定的日期,如:10011150代表10月8号11点55分
拓展:linux文件的三time
stat命令:打印信息节点(inode)内容
atime:(access time)显示的是文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。
mtime: (modify time)显示的是文件内容被修改的最后时间。
ctime: (change time)显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间。当然当内容改变时也会随之改变 rm命令
文件的改名:mv
命令语法:
mv old_file new_file
文件的查看:ls
linux 文件颜色意义
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
文件类型
- 普通文件
d 目录
l 链接文件
b 设备文件
c 字符设备
s 套接字文件
p 管道文件
文件内容的查看:cat
文件的删除:rm [-i -r -f]
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
文件的拷贝:cp [-a -r -f -p] cp -aprf text 桌面
命令语法
cp [options] 源文件或目录 目标目录
命令选项
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
文件的移动:mv
命令选项
-b:若需覆盖文件,则覆盖前先行备份。
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-u:若目标文件已经存在,且 source 比较新,才会更新(update)
拓展:mv src dST
改名 dst是一个文件夹的时候 执行是移动
dst不是一个文件夹的时候 执行改名
文件内容的查看
cat 打印文件内容
-n 或 --number: 由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank: 和 -n 相似,只不过对于空白行不编号。
head 输出文件的开始部分
-c, --bytes=SIZE 打印起始的SIZE字节
-n, --lines=NUMBER 显示起始的NUMBER行,而非默认的起始10行
-q, --quiet, --silent 从不显示给出文件名的首部
tail 打印文件的末尾部分
-f 循环读取
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--小知识:1上下键的使用
2双击table (显示提示信息)
3rm -rf / 慎用(系统瘫痪)
# vim 文本编辑器
-终端与vim切换
ctrl+z 可以stop vim退出到终端。
fg 在终端工作完后,想要返回vim,则输入fg然后回车
1 vim四种模式以及切换
命令模式 ESC
插入模式 i
替换模式 R
末行模式 :
退出 :q
2 命令行模式
存盘 ZZ 保存退出
光标移动:移动光标 h j k l 左 下 上 右
光标移到本行开头home
移到本行末尾 end
光标移到末尾 G
光标移到开头gg
光标移动一个单词w
粘贴复制:
复制一行 yy 复制 n行 nyy
粘贴 p
删除:
删除字符 x 向后删除 X 向前删除
删除一行 dd ndd
删除一个单词 dw
撤销:
撤销操作 u 向上一步 . 重复上一次操作
查找:
查找/string define \ 转义字符 查找“/bin/bash” /\/bin\/bash
3 插入模式(编辑/输入)
aio
4 末行模式
:q 不保存退出
:q! 强制不保存退出
:w 保存
:wq 保存退出
替换
:s/old/new 只替换光标所在行的第一个old string
:s/old/new/g 将本行(光标)的所有old string替换为new string g global n代表一个行号
(全行):%s/old/new/g 将本文中所有的old string替换为new string
:1,2s/old/new/g 替换1到2行中的old string为new string
:.,2s/old/new/g .代表光标所在行 当前行到第二行的
:2,$s/old/new/g 替换2到最后一行中的old string为new string
:set nu 显示行号
:set nonu
:!command 在vim编辑器中执行一条命令(不许要退出当前的编辑,可以在编辑器中执行命令,类似退出编辑器执行命令)
查找
/string 将光标定位到string 所在的行。
?string 将光标移动到最近的一个包含 string 字符串的行
:n 把光标定位到文件的第n 行。
5替换模式
命令行下按R键进入替换模式
退出
esc
6相关配置文件
~/.viminfo vim历史编辑文档
~/.vimrc vim个性设置文档
# 用户和组
linux用户分类
超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名
系统用户:UID小于1000,用于管理服务,一般不允许登陆
普通用户:UID大于或等于1000,权限较小,允许登陆,只能使用bin下命令
1.用户创建,删除,修改
--查看用户 su - user01
useradd - create a new user or update default new user information
-c, --comment 描述
-d, --home HOME_DIR 家目录
-e, --expiredate EXPIRE_DATE 过期时间
-f, --inactive INACTIVE 是否启用过期机制
-g, --gid GROUP 指定组ID号
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 附加组
-m, --create-home 建立家目录
-M 不建立家目录
-N, --no-user-group 不指定用户同名组
-r, --system 指定该帐号是系统帐号
-s, --shell SHELL 指定登录shell
-u, --uid UID 指定用户ID号
-U, --user-group 指定用户创建用户同名组
-o 创建用户是可以uid重复
注意:用户名不能超过 32 个字符
userdel
userdel - delete a user account and related files
-f, --force
-r, --remove 删除主目录及邮箱
change
-h, --help display this help message and exit
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期 如果设置为0 用户下次登录必须改密码
-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
2 密码设置passwd
passwd user01 (root下为user01设置密码)
echo "123" | passwd --stdin user01
-l lock
-u unlock
-d delete a passwd for an account
-S This will output a short information about the status of the password for a given account.
--stdin (对应以上change命令)
echo linux |passwd --stdin user01 直接设置密码
3密码文件
etc/passwd
User account information.
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
/etc/shadow
Secure user account information.
用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的
口令:此字段存放加密的口令
最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数
最小时间间隔:两次修改口令之间的最小天数
最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令
警告时间:从系统开始警告到口令正式失效的天数不活动时间:口令过期多少天后,该账号被禁用失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)标志:未使用