Unix操作系统学习简要
快速学习的诀窍:
Day01
1.开发环境
Fedora
2.查看当前运行的shell环境
运行ps即可。
临时切换shell的方法为直接输入目标shell程序名,例如bs、csh、ksh、tcsh,退出的方法为exit。
Linux默认shell是bs,root可以为任意一个用户指定允许的shell。
彻底切换shell的做法为exec shellname,例如彻底切换到tcsh则执行exec tcsh。
3.清屏:clear或者ctrl+L
4.查看进程:ps
5.查看当前工作目录:pwd
6.改变工作目录:cd(change directory)
7.查看软件版本:软件名 -v,例如:gcc -v
8.远程操作:telnet 192.168.1.103
9.vim开发环境配置
su root
yum -y install vim
配置参考:
http://www.cnblogs.com/hanxiaoyu/p/5538689.html
http://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html
常见的设置:
(切换到root用户,分别编辑/etc/vimrc和/etc/vim配置文件)
syntax on意思是语法高亮,如果您的被注释掉了,请“让它出来”。
请在您的VIM的最后一行,输入他们,可以让您的VIM变得更漂亮、舒服。
set nu // 在左侧行号
set tabstop //tab 长度设置为 4
set nobackup //覆盖文件时不备份
set cursorline //突出显示当前行
set ruler //在右下角显示光标位置的状态行
set autoindent //自动缩进
保存之后,配置完毕。
10.退出
【ctrl+d】
11.linux用户信息
cat /etc/passwd
ag:x:1000:1000:ag:/home/ag:/bin/bash
用户名:密码:用户ID:组ID:关于该用户的备注信息:主目录:登陆的shell
密码写为x是因为密码是保密信息,不是什么人都能看的,密码文件保存在另外的地方(/etc/shadow文件,且是加密的!)
更多解释:http://blog.csdn.net/shandianling/article/details/8968331
11.查看用户信息的命令:id
Day02
12.比较常用的三个linux版本是redhat、fedora和cengot,开发常用fedora。
13.跳转某用户的主目录:cd ~username
14.Linux每个目录下都有的两个文件是.和..
15.ls按照不同类型的文件标注不同的符号:ls –F(*表示可执行文件,@表示软连接,/表示目录)。
16.ls查看掩藏文件:ls –a,查看掩藏文件但不显示.和..:ls –A
17.ls –l中前面显示X的表示可执行文件,可以用ls –F验证。
18.ls –lr:按照文件名倒序排列
19. ls –tl:按照时间排列
20.ls –R:列出目录树
21.ls –l不同字母打头的意思:
P:管道pipe
-:普通文件
d:目录
l:链接
22.软连接即快捷方式,硬连接则不是快捷方式、操作硬连接等于直接操作目标文件。
软连接:多个文件(超链接)对应一个文件,删除某个软连接不影响其他软连接和目标文件;
硬连接:多个名字(硬连接)对应一个文件,删除某个硬连接只是减少一个名字、只是减少硬连接的数量、并不一定会将目标文件从磁盘上删除、只有在硬连接数量变为0的时候文件内容才真正从磁盘删除,硬链接要求必须在同一个物理设备(磁盘)上;
软连接是另外再建一个文件(超链接),没有要求在同一个设备上、主次关系有明确的方向;硬连接则只是另外取一个名字。每个硬连接之间是平等的、没有谁是谁的硬连接的说法。
23.创建连接
软连接:ln –s /bin/sleep bs
硬连接:ln /bin/sleep bs
24.目录不能建硬连接,我们建一个目录、则硬连接的数量至少是2(.和..)。
25.rread,wwrite,xexecute
一个文件有9个格子显示权限,分别对应自己、自己的组、everyone。
例如,上图中l表示该文件是一个连接,rwx表示自己有读写执行的权限,自己组内的其他人有读写执行的权限,其他人有读写执行的权限。
上图表示该文件是一个目录,主人有读写执行的权限,同组的有读和执行的权限,其他人有读和执行的权限。
上图表示该文件是一个管道,主人有读写权限,本组有读权限,其他人有读权限。
26.修改权限
chmod
chmod ugo filename :u表示自己,g表示本组,o表示其他人
例如不允许其他组的人有任何权限,可以执行:
chmod o-rwx filename或者chmod o=- filename
允许本组人写,可移执行
chmod g+w filename或者chmod g=w filename
一次指定多个人的权限
chmod u=rwx,g=x,o=r filename
或者用数字表示:
r4
w2
x1
-0
则rwx可表示为7,只有读和执行5.只有执行5。
例如,自己所有权限,组内执行,其他读取:714
自己所有权限,其他人读写,755
自己读写,其他只能读,644
增加自己的执行权限:chmod u+x filename
增加所有人的执行权限:chmod ugo+x filename或者chmod a+x filename
a表示all,等价于ugo
为了专业一点,表示为八进制,所以用数字表示的时候习惯上会在前面加一个0(C语言中0打头的表示这是一个八进制数),所以一般表示为0755,0644之类的。
通常网站的配置文件设置为0700,其他文件设置为0644,服务器脚本设置为0700或者0755.
27.查看日历:
全年:cal 2016
某月:cal 10 2016
28.写入文件
覆盖:date > a.txt
追加:date >> a.txt
直接输出到文件:echo hello linux >> linux.txt
29./dev/tty表示终端屏幕和键盘
例如 date > /dev/tty表示将date的执行结果输出到当前屏幕和终端‘
/dev/null表示黑洞文件,永远是一个空文件
例如date > /dev/null表示将date输出的内容直接丢弃
例如清空linux版本信息:cat /dev/null > /etc/issue (将空值覆盖到保存linux版本信息的文件)
30.echo时加双引号则不会忽略空格,否则空格会被忽略。
Day03
31.通配符
*:所有,例如rm –rf ./work/*
?:单个,例如来了-的./sver?
匹配[]:ehho [4-45],一定只有一个字符!!
32.查看文件:tail,more,less,cat,wc(以空格作为单词进行分词)
wc –l 显示行数
wc –w 显示单词数
wc –c 显示字符数
33.在文件中查找有指定内容的行
grep root /etc/passwd
grep 字符串 文件
grep –i root /etc/passwd 忽略查找字符串的大小写
grep root /etc/passwd
grep –v 字符串 文件 查找判断文件中是否不包含特定字符串
34.把一个文件的输出直接交给另外一个命令处理:管道(竖线)
grep root /etc/passwd | more
cat /etc/passwd | more
cat /etc/passwd | wc –l
grep –i nologin /etc/passwd > nologin_user.txt
grep –i nologin /etc/passwd | wc -w
35.不错的编辑器kate、vim
36.几个退出的快捷键
ctrl+z:任务挂起到后台吗,终端可以继续做其他的,ps –l可以查看后台情况。
ctrl+d:强行退出。
37.ps –l的状态:
S:睡眠(等时间到了会再运行)
T:挂起状态(一直等待,等于死了)
R:运行状态
Z:僵尸状态
ps –e显示所有终端进程(ps默认只查看本终端的进程)
ps –e –l以长格式显示所有终端的进程
ps –f –p 进程号
ps –f
ps -l
38.人为将任务放到后台(不占用终端)执行,命令后加&符号
sleep 10 让sleep在前台执行
ctrl + c取消
sleep 10 & 让sleep在后台执行(ps可查看状态)
39.专门查询后台任务:jobs
jobs的编号一般是按照任务进来的时间编的,加减号是优先级符号,没有加减号的优先级最低。
将后台任务调到前台运行:fg表示将带+号的任务带到前台执行
ctrl+z挂起前台任务,执行jobs会看到状态为stopped.
将指定的后台任务切到前台:fg 编号
jobs查看后台任务
fg 编号 将后台任务切换到前台运行
bg将后台+号的的任务在后台执行起来(解除后台任务的挂起状态)
bg 编号 将指定的后台任务在后台运行起来
jobs的状态类型:
scheduled,released,running,completed,terminated,canceled
40.终止某个进程/任务的方法
ctrl + c或者 kill pid
ps可以查看进程号,然后用kill灭掉他。
jobs查看后台任务
kill %任务编号 终止特定编号的后台job
Day04
41.查看帮助
例如:
man ls
man awk
man top
man cat
42.find
find 目录 条件[处理命令]
例如,按照名字查找
find . –name f1 查找当前目录下名字是f1的文件
find . –name sap 在整个系统里搜索sap文件
find / -name “f*” 在整个系统里搜索f开头的文件
find . –name “.cpp” 在当前目录下查找C++程序的源文件
find . –name “.cpp” –exec cp {} srcbackup \; 在当前目录下查找C++程序的源文件并复制到srcbackup 目录。
43.查看linux系统使用历史
history
users
who
44.其他
free –g
df –h
du –sh
pwd
ping
ifconfig
ifconfig –a
ftp
write
echo
echo find f*
env
echo ‘date’
gcc
cc
make
make install
echo $PWD
echo $JAVA_HOME
echo $HOME
echo $LANG
echo $LOGINNAME
echo $PS1
指定命令提示符的环境变量是PS1
例如:PS1=hello
则之后的命令提示符会变成hello
echo $PATH
修改别名
alias pl=”ps -l”
alias c=”clear”
alias ym=”yum –y update”
永久修改自己的初始化环境:vi ~/.bashrc
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/1946.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。