Linux基础知识
作者:bin写下学习Linux的点点滴滴
一、基本指令
1、文件
ls 显示当前目录文件
ls -l 显示目录详细文件list -list
ls -a 显示所有文件(包括隐藏文件)
ls -al 显示所有文件到详细信息
ls dirname 指定目录下的文件
cd dirname 打开文件夹
cd .. 上级目录
cd ~ 回到家目录
pwd 当前操作路径
2、用户
su -root 切换用户($:普通用户,#:root用户)
su 用户名 切换至普通用户
3、切换图形与命令界面
init 3 切换到命令界面
init 5 切换到图形界面
3、指令查找
`which ls 查看ls执行的文件`
二、文件操作(增,删,改,查)
1、mkdir 目录名字 创建目录
mkdir -p dir1/dir2/dir3 创建多个连续目录,dir1与dir2是父与子关系。
(mv是移动+更改文件,如果目标路径没有这个文件,就更改名字)
mv dir1 dir2 把dir1移动到dir2目录下
mv dir1/dir2 dir3/dir4 把dir1移动到dir4目录下
mv dir1/dir2 ./ dir2移动到当前目录mv dir newdir 更改名称
cp file1 dir/file2 file1复制到dir下,并改名字为file2
cp -r dir1 dir2 (-r是recursive代表递归),复制目录时候使用-r代表递归复制其子目录
2、删除文件
rm -r dir 删除目录(使用-r递归删除目录结构)
rm file 删除file文件
rm -rf 递归强制删除文件,(-r是recursive代表递归)(-f,force),不管你是文件还是目录
3、查看文件
cat filename 打印文件内容至终端
more filename 通过回车方式逐行查看文件内容
q键退出查看
不支持回看
less filename 通过回车方式逐行查看文件内容
q键退出查看
不支持回看
head -n filename 从文件第几行开始查看
tall -n filename 查看文件末尾几行
wc filename 查看文件行数
4、创建文件
touch dir1/filename 创建文件
touch filename 创建文件
5、写文件
echo 内容 > filename 覆盖写的形式写入文件
文件不存在,创建文件
echo 内容 >>filename 追加内容
三、编辑器软件(vi)
1、编辑模式
按 i 键进入编辑模式 (文本前)
按 a 键进入编辑模式(文本后)
按 o 键新开一行进入编辑模式
按esc退出编辑模式输入:q 退出编辑器(quit)
输入:wq 保存并退书(write)
输入:q! 不保存强制退出
内容查找
:/内容/ 或者 /内容 内容查找
按n键 下一个
按N键 上一个(将键盘切换到大写):数字 跳到第几行
:s/原内容/新内容/ 内容替换,替换第一个出现位置(当前行)
:s/原内容/新内容/g 替换整行出现到内容(当前行)
:%s/原内容/新内容/g 替换全文出现到内容(全文)
2、命令模式操作
1、文档查找、移动
按h(左)j(下)k(上)l(右) 可以代替键盘上下左右(字符级)
按w键 逐个单词移动光标到首字母(单词级)
按e键 逐个单词移动光标到尾字母(单词级)
按b键 移动到当前单词首字母(单词级)
按0键 移动到行首(行级)
按$键 移动到行尾(行级)
按{键 移动到段落首部(段落级)
按}键 移动到段落尾部(段落级)
按H键(大写) 移动到屏幕首部(屏幕级)
按L键(大写) 移动到屏幕尾部(屏幕级)
按G键(大写) 移动到文章末尾(文档级)
按1G键(依次按下) 移动到文章到第一行(文档级)
按nG键(依次按下) 移动到文章到第n行(文档级)
2、内容删除(类似剪切)
按dd键(按2下d) 删除当前行
按2dd键(依次按下) 删除当前行开始的2行
按ndd键(依次按下) 删除当前行开始的n行
按x键 删除光标所在的字符(字符级)CTRL-R(重做)来反转撤消的动作
按cw键(依次按下) 删除光标所在单词至结尾并进入编辑模式(单词级)
2、内容复制
按yy键(按2下d) 复制当前行
按2yy键(依次按下) 复制当前行开始的2行
按nyy键(依次按下) 复制当前行开始的n行
按p键 粘贴复制好的内容(删除的内容也可以粘贴)
3、快捷操作
按u键 撤销(undo,类似ctrl+z)
按J键 合并上下2行
按r键 修改光标所在的字符
按.键 重复执行上一个操作
4、寄存器
一、文本寄存
存入寄存器中,可以在不同文件中编辑。
复制 “f3Y f标识寄存器的名字,3表示3行,Y表示复制。
粘贴 “fp
二、命令寄存
qa
将接下来命令寄存在a中,再次按q结束记录。
@a
执行寄存的命令
5、窗口
一.窗口操作
:split 分割
:new 创建一个新窗口
:only 关闭其他窗口,只保留当前窗口
CTRL W 切换窗口
CTRL W +窗口变大
CTRL W -窗口变大
二.打开不同文件
vim -o one.txt two.txt three.txt
使用”-o”选项可以让Vim为每一个文件打开一个窗口
6、文本比较
文件未打开:
使用vimdiff file1 file2 对比2个文件的差异
文件已打开:
:vertical diffsplit file2 对比当前文件与file2的差异
7、文本替换
:%substitute/public/publii/
替换文本中所有的public 未publii:2,30substitue/public/publii
替换2-30行逐行替换(s为缩写)
:%s/public/public/c
8、文本排本
使用
100==
其中100为要排本的行数
四、权限管理
1、权限详情
drwxr-x— 2 adm 4096 2013-08-07 11:03 apache2
第一列 : “drwxr-x—” 表识文件的类型 和文件权限
分成3列看,1:当前用户,2:同组,3:其他组第二列: “2”是纯数字 ,表示 文件硬链接个数
第三列 : “root” 表示文件的所有者
第四列:“adm” 表示为文件的所在群组
第五列:“4096”,表示为文件长度(大小)
第六列:“2013-08-07 11:03”,表示文件最后更新(修改)时间
第七列:“apache2” 表示文件的名称
2、权限更改
`u 当前用户 g同组用户 o其他组用户`
添加权限
chmod u+rx filename 添加 当前用户 读和执行
chmod -rx filename 添加 全部用户 读和执行
chmod -R -rx filename 添加 全部用户 读和执行(递归修改子目录)
3、删除权限
chmod g-rx filename 删除 同组用户 读和执行
chmod g-w filename 删除 同组用户 写
chmod -R g-w filename 删除 同组用户 写(递归修改子目录)
4、权限更改(数字绝对方式):
chmod abc filename 其中a代表主人,b代表同组,c代表其他组
实例:
chmod 753 filename 主人:读写执,同组:读执,其他:写执
5、创建用户
添加新的用户账号使用useradd命令,其语法如下:
代码:
useradd 选项 用户名
其中各选项含义如下:代码:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
groups username 查看用户是哪个组的
6、更改文件,文件夹权限 (所有子文件使用-R)
chown user1:group1 file1
把当前文件夹下的file1的所有者改为user1,所有者用户组改为group1
7、更改用户组
查看用户组的命令
指定用户 groups username
所有组 cat /etc/group
将用户移动到指定组
这里不推荐使用:这会是你离开其他组,仅仅是加入这个组
usermod -G groupname username
推荐使用如下命令
usermod -a -G groupname username
五、任务调度指令,定时执行
1、打开任务表
`crontab -e 编辑任务表`
2、任务表格式
#分钟 小时 日期 月份 星期 被执行的指令
21 18 3 5 2 /root/test/out.sh
2、检测cron服务是否开启(ubuntu,其他linux为crond)
service cron status
六、linux小贴士
生产随机字符串
cat /proc/sys/kernel/random/uuid|cut -d “-” -f5|tr ‘[:lower:]’ ‘[:upper:]’