linux

解释器:
  ksh 调用 Korn Shell  sh 调用Bourne Shell  csh 调用C Shell  
bash 调用Bourne-again Shell
(不同的操作系统有可能不同)
初始化文件的默认权限 644, 目录777,要修改,只需要.cshrc文件中的umask 022

清屏:clear
显示当前用户的路径:pwd
改变文件夹路径:cd  . :当前路径, .. :父路径
显示文件夹列表:ls
参数:-a:显示隐藏的文件夹,-R:递归显示当前目录下的文件夹或文件
   -t:按时间顺序显示文件,-l:显示文件的详细信息
   d:目录 – 普通文件
–F:显示文件类型 / :目录文件 * :可执行文件  (none):文本文件

-rwx r-x rw-    4  user  nobody  1024  Feb22 09:20 a.txt
   参数:
-:文件类型, rwx:拥有者权限, r-x:同组人权限, rw-:其它人权限
4:硬连接数 user:拥有者 1024:大小  Feb22 09:20:最后一次修改时间  a.txt:文件名
r :读权限 w:写权限 x:执行权限 - :没有权限
其中,拥有者---生成文件时登陆的人,权限最高,u表示
         同组人---系统管理员分配的同组的一个或几个人,g表示
         其它人----除拥有者,同组人外的人,o表示
         所有人---包括拥有者,同组人以及其它人,a表示
chmod : eg chmod 777 date.txt  r:4 w :2 x :1
       rwx :7 rw- :6  ………………………..

touch :新建文件 eg :touch a.txt
mkdir : 新建文件夹 –p :如果新建的文件夹有多个层次,但父文件夹不存在,需要这个参数

cp :复制文件或者文件夹 –i :是否提示  -r :复制目录以及目录下的内容到另一个目录
mv :移动或者重命名文件或者文件夹
rm :删除文件
rmdir :删除目录
rm –r :删除空目录

ln:
SL:软连接,可以对文件或者目录,文件可以跨文件系统(FS), i节点号不同,类型是1
   删除源文件,内容就没有了,适合软件升级和整合文件位置
HL:硬连接,只能对文件,文件不可以跨文件系统(FS),i节点号相同(ln –i)查看,类型是-
   删除任何一个文件,知识link number 减1

man –k keyWord
   b :向后滚动  f :向前滚动 q:离开 /String :搜索
n :寻找下一个匹配配的字符串,与/String合用
正则表达式符号: $%>!~*?[]<>|
    eg: ls [fF]f*a?c     ls [b-f]b
命令的连续使用: date;cal;pwd
cat filename: 查看文件内容命令
cat /dev/null > ~/b.txt :清楚文件内容
cat /etc/passwd | awk –F:’{print $1 “\t” $6}’ \
| sort > ~/userinfo
   awk: 用来识别分隔符定义格式 $1:第一个域 \t:加上跳格键 $6:第6个域
   \ :折行 sort:按第一个域排序
cat < f1.txt > f2.txt :相当于cp命令,两个文件拼成一个新的文件
cal :日历查看命令 cal 10 2007 >a.txt :2007年10月写入a.txt文件
                  cal 11 2005 >>a.txt 2005年11月追加入a.txt文件
ls –l /etc|more 翻屏命令
more :一次显示一个屏幕的文件内容
     b:向后f: 向前滚动一个屏幕 h:显示帮助菜单和更多的特性 q:退出
/String 搜索 n:寻找下一个比配字符串的页
head –n filename:显示的前n行内容  tail –n filename :显示文件的最后n行内容


ftp ip:
   asc 文本文件 bin:(二进制)
   put/mput  filename:上传/可带多个 get/mget filename : 下载
  hash 给进度显示
bye:退出
vi
k:向上 j:向下: h:向左 l:向右
i:光标当前位置插入 a:在光标所在位置后插入 o:在关标所在行后插入一空行
esc:退出插入状态
x:删除一个字符 dw:删除当前词 3dw:删除3个词 dd:删除当前行 5dd:删除5行
:5,10d 删除第五行到第十行

r:替换一个字符 cw:替换一个单词 cc替换一行 C替换从光标至行尾

yw 拷贝词 yy 拷贝行(或Y)  p 当前行下粘贴  :1,2co3 拷贝行1,行2在行3之后
:4,5m6 一定行4,行5在行6之后
:w 存盘 :w newfile 存成新文件 :wq 存盘退出(或ZZ,或:x)  :q! 强行退出不存盘

~ 改变大小写 J 把当前行和下一行连起来 u 废除刚才的编辑操作
set nu 显示行代码 :21光标停在指定行 21G 光标停在指定行(G到文件尾, 1G到文件头)
/String 从当前往下查找 ?String 从当前往上查找 n继续查找
:r file2 在光标所在位置插入另一个文件
:1,$s/oldString/newString/g 替换全文(或:%s/oldString/newString/g)
Sys
id:显示用户的id    id root    id –a root 所有用户    users:列出所有用户
who am i :登陆操作系统的原始身份    whoami 现在是什么身份
su username(以username登陆)
find
find path expression
find / -name perl 查找名为perl的文件
find . –mtime n –print 查找前n天修改过的文件
find /etc –user 0 –size –print 打印用户id为0 ,大小为400字节的文件
find /export/home –type f –atime +365 –exec rm{}\; 查找最近365天没有访问的文件,执行删除
grep
grep root /etc/passwd 在/etc/passwd文件中查找有root出现的行
ls –la|grep –i ‘root’ 查找出现在任何地方的root
ls file*|xargs grep dd(xargs相当于cat)
ls [0-9] 0到9     ls[9-0] 9和0
wc
  -l 行数  -w单词数 –C字符个数
  grep wang  /etc/passwd |wc –l

du  -sk * :统计文件或者目录的大小

/etc/bin/ps
ps :列出当前用户的进程信息
-e 列出当前每一个正在运行的进程
-f 完整的列表
-u 列出用户的进程id,或者用户名
ps –ef | grep telnet

ps –auwx 列进程更详细信息状态

kill [-signal] process-id 杀进程
sleep process-id & 令进程进入睡眠状态
pkill sleep 杀进入睡眠状态的进程

jobs 列出所有正在运行的job
  fg %n 前台处理 bg %n 后台处理  stop %n 后台挂起  kill %n 把后台作业kill
Control-c 终止  Control-z 挂起

ping –s hostname
ifconfig –a (/sbin/ifconfig)
netstat –rn 路由表  rusers –l username 列出某主机上的所有用户
finger user1@hostname/ip 列出hostname/ip上以user1登陆的终端,他们的节点号和ip地址

crontab 

使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 :

f1 f2 f3 f4 f5 program
f1 是表示分钟(0-59)
f2 表示小时(0-23)
f3 表示一个月份中的第几日(1-31)
f4 表示月份(1-12)
f5 表示一个星期中的第几天(0-6,其中0代表星期日)
program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,
当 f2 为 * 时表示每小时都要执行程序,其余类推;

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,
当 f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推;

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,
当 f2 为 */n 时表示每 n 小时个时间间隔执行一次,其余类推;

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,
当 f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推;

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子 :
每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 * * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔3小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 [email protected] :
0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

环境变量
在csh下:setenv W ‘username –n’   echo $W   echo “$W”
永久:$HOME/.cshrc
在sh 下,$HOME/.profile
which : 在当前路径下查找
whereis:查找(整台机器)命令所在的路径


history
set history=20
history 显示历史命令
history 5 显示第5条
!n 运行第n条命令
!! 执行最后一条命令

aliases
aliases h history
aliases home ‘cd;ls’
alias 查看定义了那些别名
unalias home 取消定义了的别名
帮助命令
--help[|more]
Where is rpm[命令名]
软件安装
安装命令:
# rpm –ivh 软件名.rpm
检测是否安装软件
#rpm –qa|grep 软件名

你可能感兴趣的:(C++,c,linux,正则表达式,C#)