熟悉Linux常用命令 (慢慢完善)
熟悉Linux常用命令
- man :任何时候你觉得对一个命令行不是很确定,都可以通过输入“man + 命令”来了解这个命令能确切是做什么的。
- ls :列出目录内容。
- pwd :在终端中显示当前工作目录的全路径。
- cd :要变更你当前所在的目录。
- mkdir :创建一个新的目录。
- cp :复制文件/重命名文件。
- mv :移动文件。
- find 和 locate:搜索文件。
- kill :快速关闭一个进程。
- passwd :更改密码。
- md5sum :计算和检验MD5信息签名
- history :查询历史记录命令。
- sudo :(super user do)命令允许授权用户执行超级用户或者其它用户的命令。
- touch :创建一个新文件,或者将文件的访问和修改时间更新为当前时间。
- chmod :修改文件的访问权限。
- chown :改变文件拥有者和所在用户组。
- apt :APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动智能地搜索、安装、升级以及解决依赖问题。
- 上传文件命令 : rz
- 加压文件的命令 : unzip -q fileName
- rmp -qa ----查看安装了的软件
- rmp -qa | grep XXX(安装的软件名称)
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
最近开始学Linux,在VMware Player中安装了CentOS 6.4。为方便自己也方便他人,整理了Linux常用命令及快捷键。
常用命令:
文件和目录:
# cd /home 进入 '/home' 目录
# cd .. 返回上一级目录
# cd ../.. 返回上两级目录
# cd - 返回上次所在目录
# cp file1 file2 将file1复制为file2
# cp -a dir1 dir2 复制一个目录
# cp -a /tmp/dir1 . 复制一个目录到当前工作目录(.代表当前目录)
# ls 查看目录中的文件
# ls -a 显示隐藏文件
# ls -l 显示详细信息
# ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
# pwd 显示工作路径
# mkdir dir1 创建 'dir1' 目录
# mkdir dir1 dir2 同时创建两个目录
# mkdir -p /tmp/dir1/dir2 创建一个目录树
# mv dir1 dir2 移动/重命名一个目录
# rm -f file1 删除 'file1'
# rm -rf dir1 删除 'dir1' 目录及其子目录内容
查看文件内容:
# cat file1 从第一个字节开始正向查看文件的内容
# head -2 file1 查看一个文件的前两行
# more file1 查看一个长文件的内容
# tac file1 从最后一行开始反向查看一个文件的内容
# tail -3 file1 查看一个文件的最后三行
文本处理:
# grep str /tmp/test 在文件 '/tmp/test' 中查找 "str"
# grep ^str /tmp/test 在文件 '/tmp/test' 中查找以 "str" 开始的行
# grep [0-9] /tmp/test 查找 '/tmp/test' 文件中所有包含数字的行
# grep str -r /tmp/* 在目录 '/tmp' 及其子目录中查找 "str"
# diff file1 file2 找出两个文件的不同处
# sdiff file1 file2 以对比的方式显示两个文件的不同
查找:
# find / -name file1 从 '/' 开始进入根文件系统查找文件和目录
# find / -user user1 查找属于用户 'user1' 的文件和目录
# find /home/user1 -name \*.bin 在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件
# find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件
# find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件
# locate \*.ps 寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令
# find -name '*.[ch]' | xargs grep -E 'expr' 在当前目录及其子目录所有.c和.h文件中查找 'expr'
# find -type f -print0 | xargs -r0 grep -F 'expr' 在当前目录及其子目录的常规文件中查找 'expr'
# find -maxdepth 1 -type f | xargs grep -F 'expr' 在当前目录中查找 'expr'
压缩和解压:
# bzip2 file1 压缩 file1
# bunzip2 file1.bz2 解压 file1.bz2
# gzip file1 压缩 file1
# gzip -9 file1 最大程度压缩 file1
# gunzip file1.gz 解压 file1.gz
# tar -cvf archive.tar file1 把file1打包成 archive.tar
(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
# tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar
# tar -tf archive.tar 显示一个包中的内容
# tar -xvf archive.tar 释放一个包
# tar -xvf archive.tar -C /tmp 把压缩包释放到 /tmp目录下
# zip file1.zip file1 创建一个zip格式的压缩包
# zip -r file1.zip file1 dir1 把文件和目录压缩成一个zip格式的压缩包
# unzip file1.zip 解压一个zip格式的压缩包到当前目录
# unzip test.zip -d /tmp/ 解压一个zip格式的压缩包到 /tmp 目录
上传文件
secureCRT
需要上传或者下载,需要使用rz和sz命令。如果linux上没有这两个命令工具,则需要先安装。可以使用yum安装。运行命令yum install lrzsz。
安装完成后就可以使用rz命令上传本地的文件到linux平台。运行rz命令,会弹出选择文件的对话框。
以下命令均在/home目录下操作
cd /home #进入/home目录
1、把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
zip -r abc123.zip abc 123.txt
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip wwwroot.zip
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
unzip abc\*.zip
6、查看把/home目录下面的wwwroot.zip里面的内容
unzip -v wwwroot.zip
7、验证/home目录下面的wwwroot.zip是否完整
unzip -t wwwroot.zip
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
unzip -j wwwroot.zip
系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
=====================================================
主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID
复制文件与文件夹的CentOS常用命令
cp
NO1. 复制指定目录的文件到当前目录,并重命名
[root@rehat root]# cp ~/.bashrc bashrc_bak
NO2. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件
[root@rehat root]# cp -f ~/.bashrc bashrc
NO2. 复制指定目录到当前目录
[root@rehat root]# cp -r /root/test .
[root@rehat root]# cp -r /root/test/ .
两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。
NO3. 复制指定目录的文件到指定目录
[root@rehat root]# cp ~/.bashrc /bak/.bashrc
若提示:
cp: omitting directory
则采用:
[root@rehat root]# cp -r ~/.bashrc /bak/.bashrc
若提示:
cp:overwrite
则采用加斜杠:
[root@rehat root]# /cp -r -f ~/.bashrc /bak/.bashrc
NO4. 在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。
[root@rehat root]# cp -a ~/.bashrc /bak/.bashrc
NO5. 若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。
[root@rehat root]# cp -u /src/.bashrc /bak_src/bashrc
cp -Rf /home/user1/* /root/temp/
将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身
linux下cp整个文件夹的文件到另一个文件夹
cp -ri A/B/* A1/B1/ 回车
若复制过程中询问是否覆盖,输入y按回车,若不想看到提示直接覆盖使用-rf
另外若A A1不在同一目录下,最好填绝对路径,就是/xxx/xxx/A/B/* /xxx/A1/B1/
实例:
cp -ri /home/server/tomcat/* /home/server/test/
cp: target `/home/server/test/' is not a directory
需要先创建目标文件夹
mkdir /home/server/test
yum工具:
# yum -y install [package] 下载并安装一个rpm包
# yum localinstall [package.rpm] 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
# yum -y update 更新当前系统中安装的所有rpm包
# yum update [package] 更新一个rpm包
# yum remove [package] 删除一个rpm包
# yum list 列出当前系统中安装的所有包
# yum search [package] 在rpm仓库中搜寻软件包
# yum clean [package] 清除缓存目录(/var/cache/yum)下的软件包
# yum clean headers 删除所有头文件
# yum clean all 删除所有缓存的包和头文件
网络:
# ifconfig eth0 显示一个以太网卡的配置
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置网卡的IP地址
# ifdown eth0 禁用 'eth0' 网络设备
# ifup eth0 启用 'eth0' 网络设备
# iwconfig eth1 显示一个无线网卡的配置
# iwlist scan 显示无线网络
# ip addr show 显示网卡的IP地址
其他:
# su - 切换到root权限(与su有区别)
# shutdown -h now 关机
# shutdown -r now 重启
# top 罗列使用CPU资源最多的linux任务 (输入q退出)
# pstree 以树状图显示程序
# man ping 查看参考手册(例如ping 命令)
# passwd 修改密码
# df -h 显示磁盘的使用情况
# cal -3 显示前一个月,当前月以及下一个月的月历
# cal 10 1988 显示指定月,年的月历
# date --date '1970-01-01 UTC 1427888888 seconds' 把一相对于1970-01-01 00:00的秒数转换成时间
常用快捷键:
CentOS 6.4 中可以通过系统->首选项->键盘快捷键来设置快捷键,如图所示。例如可将运行终端的快捷键设为Ctrl+Alt+T。
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(end of line)
Ctrl + f 光标向前(forward)移动一个字符位置
Ctrl + b 光标往回(backward)移动一个字符位置
Ctrl + l 清屏,相当于执行clear命令
Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w 删除从光标位置前到当前所处单词(word)的开头
Ctrl + t 交换光标位置前的两个字符
Ctrl + y 粘贴最后一次被删除的单词
Ctrl + Alt + d 显示桌面
Alt + b 光标往回(backward)移动到前一个单词
Alt + d 删除从光标位置到当前所处单词的末尾
Alt + F2 运行
Alt + F4 关闭当前窗口
Alt + F9 最小化当前窗口
Alt + F10 最大化当前窗口
Alt + Tab 切换窗口
Alt +按住左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮)
[鼠标中间键] 粘贴突出显示的文本。使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。
[Tab] 命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。
在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。
快速搜索:在 vi 或 Firefox 中直接按 / 即可进入搜索状态。
网站链接和图片可直接拖放到桌面或者目录,可以马上下载。
直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。
在滚动条的空白处点击鼠标中键,屏幕即滚动到那个地方。
-------------------------------------------------------------------------------------------------------------
安装上传文件yum install lrzsz
从服务端发送文件到客户端:
sz filename
从客户端上传文件到服务端:
rz
在弹出的框中选择文件,上传文件的用户和组是当前登录的用户
SecureCRT设置默认路径:
Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories
Xshell设置默认路径:
-------------------------------------------------------------------------------------------------------------
关于 绑定域名无法访问其中有一步是
要到空间的主机管理控制台中将域名和空间绑定。域名和主机两方面都要设置,一个设置解析,一个设置绑定
linux下mysql的root密码忘记解决方
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi(:wq)。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
问题描述
用最高权限rm文件,居然报错Operation not permitted。查看权限也没有问题。可想而知有可能文件被保护了。用命令lsattr检查一下就知道。
[root@linux root]# lsattr a.txt
---i---------- a.txt
- 1
- 2
带属性“ i ”,果然是保护了。
解决办法
用chattr 解除即可
chattr -i a.txt
---------------------------------------------然后修改需要修改权限的文件---------------------------------
sudo chmod 777 -R /对应的文件夹路劲