自己总结的linux命令
原创作者:quietheart
一、文件管理:
1.创建名字为1的目录:mkdir 1
2.创建名字为1的文件:touch 1
3.删除名字为1的文件:rm 1
4.查看文件1的内容:cat 1
5.rmdir dirname
删除一个空目录dirname
6.强制删除目录:rm -f??
(rm -r是递归删除-i提示信息)
7.重命名文件:mv ./origin ./newname
8.把目录从一个地方考到另一个地方:cp -r $YOUR/$PATH $YOUR/$PATH
二、系统与其他:
1.查看在线登陆用户:who??
(或者finger,其中后者详细)
2.清屏:clear
3.查看权限:ls -l
4.修改文件filename的权限:chmod o+w filename
或者chmod 777 filename 权限全部开放,chmod 777 -R filename更改所有子目录
?????5.创建文件file符号连接lnfile:
硬链接:ln file lnfile
软链接:ln -s file lnfile
注意:要像cp那样使用链接。今天创建软链接不行,可能是文件夹$study里面有'$'吧?于是我就用了转义'/$'表示'$'。居然可以了。尽量用绝对路径防止出错。
软链接的文件,删除源,链接会失效,硬链接不会。不能创建目录的硬链接。
5.挂载相关:
5.1/查看分区类型:fdisk -l
超级用户可以执行
5.2/挂载分区到/mnt/win:mount -t vfat /dev/sda7 /mnt/win
但是显示中文有乱码
5.3/显示中文没有乱码的方法:mount -t vfat -o iocharset=gb2312 /dev/sda7 /mnt/win
或者iocharset=cp936,
ntfs的据说是utf8
5.4/查看已经挂载的分区:mount
5.5/卸载已经挂载的分区:umount /mnt/win
5.6/自动挂载:
5.6.1/方法之一是:在/etc/fstab中加入如下内容:
/dev/sda8??????????? /mnt/winG??????????? vfat????? defaults,rw,exec,iocharset=utf8,umask=0000? 0 0
(必须有umask=0000,否则只有root可以写,并且root也不能更改chmod 777 -R ...这是自己尝试出来的)
5.6.2/有时候文件系统变为只读了,试试这个命令,重新挂载一下:mount -o rw,remount /mnt/data
5.7/查看系统的编码:locale
我的机器将显示:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
三、用户管理:
1.查看所有的用户和组:cat /etc/passwd 和 cat etc/group
成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下:
〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕
其中个字段被冒号“:”分成7各部分。
由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。
2.添加一个用户testusr:
1)useradd testusr
(注意在超级用户模式才能用,刚建立没有密码,没有自己的home)其他选项可以参见man
2)useradd -m testusr
(或者useradd testusr -m,添加一个用户并且自动建立该用户的子目录)
3.设置更改一个用户testusr的密码为123456:passwd testusr
(必须切换到超级用户模式,然后会提示输入,按照提示做即可)
更改自己的密码只需输入passwd 不用切换到超级用户下。
4.切换到用户testusr下:su testusr
会提示输入密码等。
5.修改用户信息:usermod〔选项〕〔用户名〕
具体选项可以参见帮助
1)usermod –d/home/testusr –s/bin/bash testusr
用户名testusr的主目录路径设置在/home/testusr,登陆的Shell设置为/usr/bin/gcc(-d更新使用者新的登陆目录,-s指定新用户Shell)
空格有无均可
2)usermod -l test testusr
把用户名testusr改成test(-l变更用户登陆时的名称,同时使用者目录名也会跟着更动成新的名称(实践了没变目录呀))
usermod不允许改变正在线上的使用者帐号名称
6.删除用户test:
1)userdel test
不会把主目录删除
2)userdel -r test
把用户test的主目录和邮箱缓存一并都删除。
3)查看用户密码?
四、其它:
1.启动xwindow图形界面:startx
ctrl+alt+F7(F7,F8..)
2.进入文本模式:ctrl+alt+F1(F1..F6)
3.离开图形界面:
1)注销(不会umount)
2)ctrl+alt+backspace(不会umount)
4.更改开机背景
1)如果是指支持gfxboot的grub所用的message文件,
用cpio来解:
在/boot中,
mkdir 1
cd 1
cpio -i < messagebr style='font-size:14px;font-style:normal;font-weight:normal;color:rgb(51, 51, 51);' />这样会把message的文件导到目录1中。
更新了图片后,
find -type f | cpio -o < ../message
2)第二个方法:suse修改GRUB的背景图为企鹅动画主题
2.1). 先备份(请养成这个好习惯)
$ cp /boot/message ~/message.old
2.2). 建立一个目录,例如cpio
$ mkdir cpio
2.3). 复制一份来准备修改
$ cd cpio
$ cp /boot/message .
2.4).开始了
$ cpio -idv < message p>
2.5). 删除message
$ rm message
2.6). 修改 gfxboot.cfg
# penguin theme likelihood in percent; -1 = auto
penguin=100
将原先预设的-1改成100 or 0(100是永远用企鹅画面,0是用远不用企鹅画面)
2.7). 重新生成message
$ ls | cpio -ov < ../message
请注意不要有任何错误讯息
2.8). 将生成的档案复制回原位
$ su
Password:
# cp ../message /boot/message
注:1、不要忘了 $ cp /boot/message .其中的.。
2、把两个-1都改成100
3、如果可能,则修改相应的图片,如back.jpg和pback.jpg
4、查看内核版本号:uname -r
一篇非常好的linux学习笔记分享 (Linux入门绝佳)(转)
一篇非常好的linux学习笔记分享? (Linux入门绝佳)
linux目录架构
/?? 根目录
/bin??? 常用的命令 binary file 的目錄
/boot?? 存放系统启动时必须读取的档案,包括核心 (kernel) 在内
???? /boot/grub/menu.lst?? GRUB设置
???? /boot/vmlinuz?? 内核
???? /boot/initrd???? 核心解壓縮所需 RAM Disk
/dev??? 系统周边设备????
/etc??? 系统相关设定文件
???? /etc/DIR_COLORS?? 设定颜色
???? /etc/HOSTNAME?? 设定用户的节点名
???? /etc/NETWORKING?? 只有YES标明网络存在
???? /etc/host.conf 文件说明用户的系统如何查询节点名
???? /etc/hosts 设定用户自已的IP与名字的对应表
???? /etc/hosts.allow 设置允许使用inetd的机器使用
???? /etc/hosts.deny 设置不允许使用inetd的机器使用
???? /etc/hosts.equiv 设置远端机不用密码
???? /etc/inetd.conf 设定系统网络守护进程inetd的配置
???? /etc/gateways 设定路由器
???? /etc/protocols 设定系统支持的协议
???? /etc/named.boot 设定本机为名字服务器的配置文件
???? /etc/sysconfig/network-scripts/ifcfg-eth0?? 设置IP
???? /etc/resolv.conf??? 设置DNS?
???? /etc/X11? X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔
???? /etc/fstab??? 记录开机要mount的文件系统
???? /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel
???? /etc/issue 记录用户登录前显示的信息
???? /etc/group 设定用户的组名与相关信息
???? /etc/passwd 帐号信息
???? /etc/shadow 密码信息
???? /etc/sudoers 可以sudo命令的配置文件
???? /etc/securetty 设定哪些终端可以让root登录
???? /etc/login.defs 所有用户登录时的缺省配置
???? /etc/exports 设定NFS系统用的
???? /etc/init.d/?? 所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉
???? /etc/xinetd.d/? 這就是所謂的 super daemon 管理的各項服務的設定檔目錄
???? /etc/modprobe.conf?? 内核模块额外参数设定
???? /etc/syslog.conf?? 日志设置文件
/home?? 使用者家目录
/lib??? 系统会使用到的函数库
???? /lib/modules?? kernel 的相关模块
???? /var/lib/rpm?? rpm套件安装处
/lost+found??? 系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下
/mnt???? 外设的挂载点
/media?? 与/mnt类似
/opt???? 主机额外安装的软件
/proc??? 虚拟目录,是内存的映射
????? /proc/version?? 内核版本
?????? /proc/sys/kernel?? 系统内核功能
/root??? 系统管理员的家目录
/sbin??? 系统管理员才能执行的指令
/srv???? 一些服務啟動之後,這些服務所需要取用的資料目錄
/tmp???? 一般使用者或者是正在執行的程序暫時放置檔案的地方
/usr???? 最大的目录,存许应用程序和文件
??? /usr/X11R6:?? X-Window目录
??? /usr/src:??? Linux源代码
??? /usr/include:系统头文件
??? /usr/openwin 存放SUN的OpenWin
??? /usr/man 在线使用手册
??? /usr/bin?????????? 使用者可執行的 binary file 的目錄
??? /usr/local/bin???? 使用者可執行的 binary file 的目錄
??? /usr/lib?????????? 系统会使用到的函数库
??? /usr/local/lib???? 系统会使用到的函数库
??? /usr/sbin????????? 系统管理员才能执行的指令
??? /usr/local/sbin??? 系统管理员才能执行的指令
/var?? 日志文件
??? /var/log/secure??? 記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
??? /var/log/wtmp????? 記錄登入者的訊息資料, last
??? /var/log/messages? 幾乎系統發生的錯誤訊息
??? /var/log/boot.log? 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
??? /var/log/maillog?? 紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄
??? /var/log/cron????? 記錄 crontab 這個例行性服務的內容
??? /var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:
??? 分別是幾個不同的網路服務的記錄檔
一些常用的基本命令:
uname -a??? 查看内核版本??????
ls -al??? 显示所有文件的属性
pwd???????? 显示当前路径???????
cd -??? 返回上一次目录???? cd ~??? 返回主目录
date s????? 设置时间、日期?????????
cal????? 显示日历???? cal 2006
bc????????? 计算器具??????????????
man? & info???? 帮助手册
locale???? 显示当前字体???? locale -a??? 所有可用字体???? /etc/sysconfig/i18n设置文件
LANG=en??? 使用英文字体???????????
sync?????? 将数据同步写入硬盘???????
shutdonw -h now & half & poweroff? 关机
reboot???? 重启??????????????????
startx? &? init 5?? 进入图形介面
/work? & ?work??? 向上、下查找文档内容
chgrp????? 改变档案群组? chgrp testing install.log???
chown???? 改变所属人?? chown root:root install.log
chmod????? 改变属性???? chmod 777 install.log???? read=4? write=2? execute=1
cp?? 复制?? cp filename
rm?? 删除文件? rm -rf filename?? 强制删除文件
rmdir?? 删除文件夹
mv? 移动??? mv 123.txt 222.txt? 重命名
mkdir???? 创建文件夹
touch???? 创建文件? 更新当前时间
cat?????? 由第一行开始显示???? cat |more? 分页
nl??????? 在内容前加行号
more? &? less?? 一面一面翻动
head -n filename?? 显示第N行内容
tail -n filename? 显示后N行内容
od??????? 显示非纯文档
df -h 显示分区空间
du? 显示目录或文件的大小
fdisk?? 分区设置??? fdisk -l /dev/hda? 显示硬盘分区状态
mkfs??? 建立各种文件系统? mkfs -t ext3? /dev/ram15??
fsck??? 检查和修复LINUX档案
ln????? 硬链接?? ln -s? 软件链接
whereis?? 查找命令
locate??? 查找
find????? 查找?? find / -name "***.***"
which???? 查看工具
whoami??? 显示当前用户
gcc -v??? 查看GCC版本
chattr +i filename? 禁止删除?? chattr -i filename? 取消禁止
lsattr??? 显示隐藏档属性
updatedb? 更新资料库
mke2fs??? 格式化?? mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak??? 备份
mount???? 列出系统所有的分区
mount -t iso9660 /dev/cdrom /mnt/cdrom?? 挂载光盘
mount -t vfat /dev/fd0 /mnt/floppy?????? 挂载软盘
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2?? 挂载fat32分区
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3???????? 挂载ntfs分区
Linux-NTFS Project:?http://linux-ntfs.sourceforge.net/
umount /mnt/hda3? 缷载
ifconfig?? 显示或设置网络设备
service network restart?? 重启网卡?
ifdown eth0? 关闭网卡
ifup eth0??? 开启网卡
clear??? 清屏
history??? 历史记录?????? !55? 执行第55个指令
stty?? 设置终端??? stty -a
fdisk /mbr?? 删除GRUB
at???? 僅進行一次的工作排程
crontab?? 循環執行的例行性命令??? [e]编辑,[l]显示,[r]删除任务
&?????? 后台运行程序??? tar -zxvf 123.tar.gz & ---------<后台运行
jobs??? 观看后台暂停的程序?? jobs -l
fg????? 将后台程序调到前台?? fg n ------<n是数字,可以指定进行那个程序
bg????? 让工作在后台运行
kill??? 结束进程??? kill -9 PID???? [9]强制结束,[15]正常结束,[l]列出可用的kill信号
ps aux? 查看后台程序??
top???? 查看后台程序?? top -d 2??? 每两秒更新一次??????? top -d 2 -p10604?? 观看某个PID
??????? top -b -n 2 < /tmp/top.txt -----<將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt???
pstree?? 以树状图显示程序??? [A]以 ASCII 來連接, [u]列出PID, [p]列出帐号
killall?? 要刪除某個服務??? killall -9 httpd
free????? 显示内存状态???? free -m? --------<以M为单位显示
uptime??? 显示目前系统开机时间
netstat?? 显示网络状态??? netstat -tulnp------<找出目前系統上已在監聽的網路連線及其 PID
dmesg???? 显示开机信息??? demsg | more
nice????? 设置优先权????? nice -n -5 vi & -----<用 root 給一個 nice 植為 -5 ,用於執行 vi
renice??? 调整已存在优先权
runlevel? 显示目前的runlevel
depmod??? 分析可载入模块的相依性
lsmod???? 显示已载入系统的模块
modinfo?? 显示kernel模块的信息
insmod??? 载入模块
modprobe?? 自动处理可载入模块
rmmod???? 删除模块
chkconfig?? 检查,设置系统的各种服务???? chkconfig --list -----<列出各项服务状态
ntsysv???? 设置系统的各种服务
cpio????? 备份文件
压缩命令:
*.Z????? compress 程式壓縮的檔案;
*.bz2??? bzip2 程式壓縮的檔案;
*.gz???? gzip 程式壓縮的檔案;
*.tar??? tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
compress filename? 压缩文件? 加[-d]解压? uncompress
gzip filename?? 压缩? 加[-d]解压? zcat 123.gz 查看压缩文件内容
bzip2 -z filename? 压缩? 加[-d]解压?? bzcat filename.bz2? 查看压缩文件内容
tar -cvf /home/123.tar /etc? 打包,不压缩
tar -xvf 123.tar?? 解开包
tar -zxvf /home/123.tar.gz? 以gzip解压
tar -jxvf /home/123.tar.bz2? 以bzip2解压
tar -ztvf /tmp/etc.tar.gz?? 查看tar内容
cpio -covB? < [file|device]?? 份份
cpio -icduv < filedevice br style='font-size:14px;font-style:normal;font-weight:normal;color:rgb(51, 51, 51);' />vi一般用法
一般模式????????????? 编辑模式????????????????? 指令模式
h 左?????????????? a,i,r,o,A,I,R,O???????????? :w 保存
j 下??????????????? 进入编辑模式??????????????? :w! 强制保存
k 上??????????????? dd 删除光标当前行?????????? :q! 不保存离开
l 右??????????????? ndd 删除n行???????????????? :wq! 保存后离开
0 移动到行首??????? yy 复制当前行??????????????? :e! 还原原始档
$ 移动到行尾??????? nyy 复制n行????????????????? :w filename 另存为
H 屏幕最上????????? p,P 粘贴???????????????????? :set nu 设置行号
M 屏幕中央????????? u? 撤消????????????????????? :set nonu 取消行号
L 屏幕最下????????? [Ctrl]+r 重做上一个动作?????? ZZ 保存离开
G 档案最后一行????? [ctrl]+z 暂停退出??????????? :set nohlsearch?? 永久地关闭高亮显示
/work 向下搜索?????????????????????????????????? :sp 同时打开两个文档
?work 向上搜索?????????????????????????????????? [Ctrl]+w 两个文档设换
gg 移动到档案第一行????????????????????????????? :nohlsearch??? 暂时关闭高亮显示
认识SHELL
alias??? 显示当前所有的命令别名????? alias lm="ls -al"?? 命令别名??? unalias lm 取消命令别名
type????? 类似which
exprot??? 设置或显示环境变量
exprot PATH="$PATH":/sbin? 添加/sbin入PATH路径
echo $PATH??? 显示PATH路径
bash????? 进入子程序
name=yang???? 设定变量
unset name??? 取消变量
echo $name??? 显示变量的内容
myname="$name its me"?? &?? myname='$name its me'???? 单引号时$name失去变量内容
ciw=/etc/sysconfig/network-scripts/???? 设置路径
env????? 列出所有环境变量
echo $RANDOM??? 显示随意产生的数
set????? 设置SHELL
PS1='[/u@/h /w /A #/#]/$ '???? 提示字元的設定
?? [root@linux ~]# read [-pt] variable???? -----------读取键盘输入的变量
?? 參數:
?? -p? :後面可以接提示字元!
?? -t? :後面可以接等待的『秒數!』