linux 常用命令

阅读更多
本处收录的大部分命令来自视频课程《Linux 入门基础》: http://study.163.com/course/courseMain.htm?courseId=232007

Ctrl+Alt+T可以打开终端(terminal)程序
安装 nautilus-open-terminal可以在右键菜单添加 在当前位置打开终端的命令: http://jingyan.baidu.com/article/5d368d1ecda2cc3f60c0570b.html

终端以root登录 sudo -i ; sudo passwd ;   su - root  ;  su
http://zhidao.baidu.com/link?url=nALDBoWD7pJ0KnQYrSzOtLTxx9n_3hxhkXnUIYc4HBI-J0G1i-22LKOZfVVoZJk3QtsbmIbxYu1V-6MC4Qyw3FyK3oKwm-eqTsAfRLh5sd7
 
ubuntu图形界面以root登录
http://blog.csdn.net/loongembedded/article/details/37958405
http://www.docin.com/p-698447272.html
http://jingyan.baidu.com/article/5553fa82e3a1c565a23934c5.html


xshell用ssh远程登录后, 后台运行命令: 在命令前加上nohup 或者setsid,
比如:nohup ./tnet.out >nohup.txt &
具体参见: https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

scp免密码传输, ssh免密码登录: http://blog.csdn.net/nfer_zhuang/article/details/42646849

传输文件夹,并且不同步某些文件: https://stackoverflow.com/questions/1228466/how-to-filter-files-when-using-scp-to-copy-dir-recursively
rsync -rav -e ssh --exclude='*.log' [email protected]:/home/d/folder local_dir


为命令设置别名 alias


在后台执行程序在命令的最后加上" &"(不含引号)(比如打开浏览器firefox),然后可以继续在命令行里输入命令,否则只能等退出浏览器再输入命令

自动补全:按 tab键
无法自动补全时按 两下tab键可以列出所有以当前输入为前缀的命令


通配符*
即使在cd这样的命令中,如果   当前文件夹下只有一个以  ab 开头的文件夹,也可以使用 cd ab×来切换目录

查看帮助: 命令 -h  或者 --help

clear 清屏

查看历史命令:history    ;然后   !num执行第num个命令
!! 重复前一个命令(写脚本的时候用,平时用上下箭头即可)
!commandName  重复以commandName开头的历史命令
!?command  重复之前含有command的命令
!-n  重复之前的第n个命令

检索之前输过的命令 : Ctrl+R


su -      切换到root用户
sudo -i   同上

which ls 可以查看执行的ls 命令的位置
,,比如源码安装了tensorboard ,就可以通过 which tensorboard查看安装目录

如果找到打文件为软链接, 则卡亚通过ls -l xxx/tensorboard 查看其真实位置


cd  切换目录   .当前目录  ..父目录  ~用户目录  -之前的一个工作目录
pwd 显示当前目录

ps -aux |grep PROCESSNAME
ps -eo pid,lstart,etime,cmd | grep PROCESSNAME  #查看具体的启动时间

ls   列出当前文件夹下的文件
ls  -alt  可以看是否有执行权限
ls -l 查看快捷方式对应的真实文件位置
ls -i  查看文件在文件系统中的index
ls -a 可以查看隐藏文件
ls -R 递归显示文件夹内的内容
ls -ld 显示目录信息或链接信息

file  文件名   查看文件信息

sudo -i获取root权限(命令行内)

即使sudo后仍有权限不足问题,,可以试试bash   ×.sh  运行.sh文件


cp source target 复制文件/目录   -r  递归复制  -v 显示详细信息
mv 移动/重命名 文件
rm 删除   -r 递归删除  -f  强制删除
touch  新建文件  or 更新文件的修改时间为当前时间
cat 查看文件内容  head 显示文件的前几行  tail -f用于查看在实时更新的日志文件
less 翻页显示文件内容  上下箭头


查看硬件信息
lspci 查看PCI设备  lsusb查看USB设备 lsmod查看驱动

shutdown 关机

ln  -s    创建符号链接
硬链接与符号链接 http://www.2cto.com/os/201204/126623.html


whoami 当前用户
id 用户id
who 已经登录的用户
w  已登录用户在干什么

权限相关
useradd
userdel
chown 更改所属用户  -r  递归修改 
chgrp 更改所属组
chmod 更改权限rwx 读写执行   ugo 所属用户user、组group、其他other的权限共九位 , 也可以用三个数字表示 774表示 rwxrwxr--   ;  扩展权限也有三位: suid,sgid,sticky, suid表示以创建用户权限执行该文件,sgid表示该文件夹下的新建的所有文件的默认组都与该文件夹相同,而与创建的用户无关。 sticky表示该文件夹下用户只能删除属于自己的文件,其他用户即使用户组相同,也不能删除;  设定扩展权限时要用四个数字,比如 7777
umask 创建文件、文件夹的默认权限,  新建的文件夹权限为 777-umask, 文件为666-umask,  每个用户的umask是不同的



mount相关命令: http://study.163.com/course/courseLearn.htm?courseId=232007#/learn/video?lessonId=340060&courseId=232007
mount,  umount, fuser, lsof


查找
locate  查找的是数据库,有延时
find . -name \*.txt -print  #递归查找txt文件
grep  查询正则表达式,输出对应的行


输出重定向  > 新文件    >>追加输出的文件    2> 重定向错误输出流
< 输入重定向

diff 比较文件的区别
tr ‘a-z’ ‘A-Z’ < /home/userA/me.txt  #大小写替换

sed 's/from/to/g' < /home/userA/me.txt # 将文件中的from替换为to , 注意输出到的是命令行

ls -l |cut -d' ' -f1 |grep rwxrwx   先用ls梦里列出当前目录的详细信息;用cut命令以空格分割每行,取出第1列; 再用grep 查找含有rwxrwx的行




wc 统计文件的行数、列数、字节数、字符数
cat f.txt | awk -F'\t' '{if($3 >= 50) print $0}' | wc -l  统计文件f.txt中第3列的值>50的行数, 该文件的分隔符为'\t'


压缩、解压缩:
  •   .tar.bz2
  •   解压:tar jxvf FileName.tar.bz2
  •   压缩:tar jcvf FileName.tar.bz2 DirName

更多参见: http://www.blogjava.net/jiangjf/archive/2007/07/29/133122.html


磁盘空间(一级目录):df -hl
磁盘空间(任意目录):du -msh  /home/user  其中s表示显示总大小,h表示用Gb等易读方式显示
磁盘空间(求和,限本目录1级子目录)du -ahd1 .  | sort -rh | head

内存占用(区分共享内存和普通内存):sudo pmap -X 24477

top查看指定进程名称的资源使用情况 top -p $(pgrep -f -d, python)

端口占用情况:netstat -anp

Windows远程连接Ubuntu  http://www.cnblogs.com/Dreama/articles/2106835.html

Linux下如何修改终端提示符?: http://blog.csdn.net/a280606790/article/details/8513298



显示隐藏文件 Ctrl+H
以 . 开头的文件就是隐藏文件



/bin 可执行文件 bash等    /sbin 只有super用户才能执行的命令
/etc  配置文件的目录
/mnt 以及 /media  挂载的设备, 因为有了自动挂载,所以有些被自动到media下了
/proc 系统实时信息,在内存里,不在硬盘上;; 其中的数字命名的文件夹对应一个进程
/sys 通常包含底层硬件信息
/usr 应用软件    /opt  大型应用软件
/var 系统长变的信息,比如log, mail




查看系统内核版本:cat /proc/version
具体参见:http://blog.csdn.net/zhuying_linux/article/details/6859286



调试
gdb coredump exe
用dmesg 和addr2line 可以在没有coredump的情况下查看出错的位置: http://blog.csdn.net/olidrop/article/details/7295908

你可能感兴趣的:(linux)