These commands were all done as super user root. I suggest not to try this if you don't know what the command is for, use at your own risk!!!\n\n1. How to create a return email address when using mutt ?\n\n export REPLYTO=youremail@yourdomain.com\n\n2. How to dump a website into your terminal screen ?\n\n elinks -dump "http://www.gmanews.tv/forex.php"\n lynx -dump "http://www.gmanews.tv/forex.php"\n links -dump "http://www.gmanews.tv/forex.php"\n\n3. How to dump a website into a file ?\n\n elinks -dump "http://www.gmanews.tv/forex.php" > file1\n lynx -dump "http://www.gmanews.tv/forex.php" > file2\n links -dump "http://www.gmanews.tv/forex.php" > file3\n\n3. How to sort batch of files containing alpha numeric characters in a file with one command ?\n\n cat filename101*.txt | sort -n\n\n4. How to remove duplicate lines from a file ?\n\n uniq < filename01.txt\n\n5. How to force rotate of all your defined log files located in /var/log/ ?\n\n logrotate -f /etc/logrotate.conf\n\n6. How to change the interval time of your daily and weekly system cron jobs ?\n\n vi /etc/anacrontab\n\n7. How to start X / Gnome from terminal ?\n\n startx\n\n8. How to do a whole new xorg.conf setup for your nonworking/epileptic X which was caused recent xorg.conf misconfiguration ?\n\n mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old\n gdmsetup\n\n9. Do you have a very old and nice webtool for newbies or junior system admins?\n\nClick here\n\n10. How to launch and run a program into background ?\n\n program-name &\n\n10. How to locate and find file(s) in CLI ?\n\n find /foldername -name name-of-file\n\nEx.\n find /home -name *vertito*\n locate *vertito*\n\n11. For script kiddies who successfully hacked a box, LOL. How to know your current dropped user, shell id, group id, groups your shell belongs to after successfully hacking into a linux box? :)\n\n id\n\n12. How to know who is currently active from ssh connection from your server ?\n\n w\n\n13. How to know all your opened UDP ports and connections ?\n\n ss -u -a\n\n14. What are the most commonly known world writeable and readable folders?\n\n cd /tmp\n cd /dev/shm\n\nSo watch out for any scripts or file changes there!\n\n15. How to build rpm package from source file (*.src.rpm) ?\n\n rpmbuild --rebuild *.src.rpm\n\nMost probably, you'll find the sources in /root/rpmbuild/SOURCES and the RPM file in /root/rpmbuild/RPMS . If not, try /usr/src/redhat/SOURCES and /usr/src/redhat/RPMS\n\n16. How to find all files from a particular folder that contains this string and do it recursively ?\n\n find /home/vertito -exec grep -li myownstring {} \s;\n\n17. How to find a specific filename and delete it ?\n\n find / -name specific-filename.txt -exec rm -rf {} \s;\n\n18. How to trim my temporary files and delete the ones that are more than 1 month old?\n\n find /tmp -mtime +31 -exec rm -rf {} \s;\n\n19. How to know the descriptions, functions, and more info a a linux command ?\nEx.\n\n man elinks\n apropos elinks\n whatis elinks\n info elinks\n\n20. How to know from which rpm package does a particular library belongs to ?\n\nEx. /lib/libcap.so\n\n rpm -qf /lib/libcap.so\n\n21. How to find out interesting port of a particular host ?\n\n nmap host-IP-Address-here\n\n22. How to ping one subnet class of IP address or group of IP address ?\n\n fping -g 192.168.100.0/27\n$ fping -g 192.168.1.1 192.168.1.254\n\n23. How to know if a port is open ?\n\nExample: port 25\n\n telnet IP-address 25\n nc -dz IP-address 25\n\n24. How to watch for file and file size changes of one folder live and not by email ?\n\n cd your-folder\n watch ls -la\n\n25. How to divide 9999999999999999 by 3 directly from terminal ?\nHow to use a terminal based calculator?\n\n echo '9999999999999999/3' | bc -l\n\n26. How to print line numbers of each output line of a text file ?\n\n cat -n yourfile.txt\n\n27. How to negate a grep result?\n\n grep -v "null" yourfilename\n\n28. How to list statistics from your network ?\n\n netstat -s\n\n29. What is the country code for a particular country ?\n\n grep -i philippines /usr/share/zoneinfo/iso3166.tab\n\n30. How to find out who owns and manages a particular domain ?\n\n whois google.com\n\n31. How to get the resolved IP of a domain ?\n\n nslookup google.com\n host google.com\n dig google.com\n\n32. How to say hello and goodbye to your system log file ?\n\n logger 'Hello and Goodbye'\n\n33. How to list out all your USB current connections ?\n\n lsusb\nverbose\n lsusb -v\n\n34. How to list out all your PCI card connections ?\n\n lspci\nverbose\n lspci -v\n\n35. How to lock/unlock a bash enabled user shell account ?\n\n passwd -l useraccount\n passwd -u useraccount\n passwd -S useraccount\n\n36. How to limit and change available shell accounts for user's shell assignment ?\n\n vi /etc/shells\n\n37. How to change the default values when adding new user accounts ?\n\n vi /etc/default/useradd\n\n38. How to create default files automatically every time a new user accounts is created ?\n\n cp /home/vertito/whateverfile.txt /etc/skel\n useradd -d /home/newuser newuser\n\n\n39. How to go the easy way to home folder of a particular user if you have multinested virtual home folders?\n\n cd ~hisusername\n\n40. How to browse and download the whole pages of a particular WWW site in one shot ?\n\n wget -p --progress=dot http://www.google.com\n\n41. How to safely mark badblocks from another ext2/ext3 linux harddisk ?\n\n umount /dev/other-harddisk2\n e2fsck -c /dev/other-harddisk2\n\n42. How to create a new ext3 filesytem with bad-block checking from your secondary harddisk?\n\n mkfs.ext3 -c /dev/other-harddisk2\n\n43. How to compare bzip2 compressed files ?\n\n bzdiff file1 file2\n\n44. How to detect hardware monitoring chips and load modules related to newly detected chips?\n\n sensors-detect\n\n45. How to know if your postfix or sendmail is running ?\n\n ps axuw | grep sendmail\n ps axuw | grep postfix\n\n46. How to change the default port when spamassassin is launched?\n\n vi /etc/sysconfig/spamassassin\n\n47. How to disable postfix permanently after reboot ?\n\n chkconfig --levels 345 postfix off\n\n48. How to know the number of children spawned by apache ?\n\n ps axuw | grep http | wc -l\n\n49. How to avoid a module from being loaded by kernel during startup and blacklist it permanently?\n\n vi /etc/modprobe.d/blacklist\n\n50. How to quickly count all your queued mail when you box is really hogging due to spam bruteforce attacks and spam mailer?\n\n mailq | wc -l\n\nHow to smile ?\n\n:)\n\nHope this helps abit.
As I go along and remember those linux commands, I'll be adding them here as time goes by. They don't pop out of my tiny-winny braincells easily when I needed them most.\n\nHere goes nothing.\n\n1. How to know which ports are listening from your IP address?\n\n nmap -sT -O your-ip-address\n\n2. How to grep an exact match?\n\n grep -w textfile.txt\n\n3. How to reverse grep matches?\n\n grep -v textfile.txt\n \n4. How to know which service name is what port?\n\nAssuming port 443\n\n cat testfile.txt | grep -w 443\n\n5. How to get the first 10 lines of a file?\n\n head -10 testfile.txt\n\n6. How to get the last 10 lines of a file?\n\n tail -10 testfile.txt\n\n7. How to get the first column of a file?\n\n awk '{print $1}' testfile.txt\n\n8. How to get the first and second columd of a file?\n\n awk '{print $1 " " $2}' testfile.txt\n\n9. How to get the first column of a file having consistent field separator pattern?\n\nField separator character patterns is /\n\n awk -F/ '{print $1}' testfile.txt\n\n10. How to get the second column of a file having consistent field separator pattern?\n\n awk -F/ '{print $2}' testfile.txt\n\n11. How to show contents of a text file?\n\n cat testfile.txt\n\n12. How to show contents of text file pausing ever page or one screenful at a time?\n\n more testfile.txt\n less testfile.txt\n\n13. What is the big difference between more and less?\n\nless linux command has much more extensive enhancements compared with more.\nYou can also scroll up interactively via control keystrokes using less while the other one does not allow you to do that.\nless does not need to read the entire file to buffer when showing a screenful content of a file and furthermorel less is faster than more on accessing big filesize.\n\n14. How do you delete all numbers and digits from contents of a file?\n\n tr -d [:digit:] < testfile.txt\n\n15. How do you sort contents of a text file in descending order?\n\n sort -r newfile.txt\n\n16. How do you create a file using touch (without opening it interactively for writing)?\n\n touch newfile.txt\n\n17. How do you change the date of all files in one folder?\n\n touch *\n\n18. How do you create a file using tee?\n\n tee newfile.txt\n\nand start typing, press\n\n19. How do you query currently installed package offline from your system?\n\n rpm -qa sendmail\n\n20. How do you query packages for something-like package ?\n\n rpm -qa | grep sendmail\n rpm -qa *sendmail*\n\n21. What files comes with a something package?\n\n rpm -qa postfix*\n rpm -ql postfix-2.4.3-2.fc7\n\n22. What is this something package?\n\n rpm -qi postfix-2.4.3-2.fc7\n\n23. Where does rpm stores its rpm database?\n\n cd /var/lib/rpm\n ls -la __*\n\n24. How to mount CD drive after inserting the disk?\n\n mount /dev/cdrom /mnt/CD\n\n25. How to know if fedora detects your Nokia N70 via USB?\n\n lsusb\n\n26. How to change system date ?\n\n date -s "December 25 2007 01:01:01"\n\n27. How to know your free base memory and other memory / swap statistics ?\n\n free\n\n28. How to show disk space usage of your filesystem in human readable form?\n\n df -ah\n\n29. How to get the top 10 of your mbox mail users?\n\n cd /var/spool/mail\n ls -lS | head -10\n\n30. How to find process ID of a running service like httpd?\n\n pidof httpd\n\n31. How to locate a binary file, command source and its man pages?\n\n whereis ping\n\n32. How to find the location of a executable file that could have been executed when entered from a prompt?\n\n which ping\n\n33. How to download ISO or any file from web using command line?\n\n wget -c www.google.com/testfile.txt\n wget -c ftp://google.com/google.ISO\n\n34. How to transfer file via ssh?\n\n scp -c testfile.txt user@remote-hostname\n\n35. How to transfer files that has been only changed from one host to another without taking comparison?\n\n rsync -avz remoteserver:/home/remotefolder /home/localfolder\n\n36. How to transfer your identity.pub into a remote machine's authorized_keys?\n\n ssh-copy-id -i identity-rsa-dsa.pub user@remote-hostname\n\n37. How to know who you are in a shell?\n\n whoami\n\n38. How to get more real-time view linux process stats and info?\n\n top\n\n39. How to issue a continuous trace route to a host?\n\n mtr host-ip-addres\n\n40. How to trace route without resolving IP address?\n\n mtr --no-dns hostname\n\n41. What is another text-based alternative to chkconfig?\n\n ntsysv\n\n42. How to list out current cron jobs?\n\n crontab -l\n\n43. How to get the CPU time?\n\n clock\n\n44. How to set date and time from NTP server?\n\n ntpdate 0.fedora.pool.ntp.org\n\n45. How to show current system path?\n\n set | grep PATH\n\n46. How to list out currently loaded kernel modules?\n\n lsmod\n\n47. How to know the total days of your system without reboot?\n\n uptime\n\n48. How to get a system bootstrapped from redhat network?\n\n /usr/bin/go-rhn.sh\n\n49. How to see current running user jobs?\n\n jobs\n\n50. How to edit text files from terminal?\n\n vi textfile.txt\n nano textfile.txt\n joe textfile.txt\n vim textfile.txt\n pico textfile.txt (if pico is installed - Pico is a trademark of the University of Washington)\n tee vv\n\n\nHope this helps a bit.
Here goes 50 quick linux command tips and tricks part 3.\n\nAs root\n\n1. How to have a stop watch scenario from command line terminal?\n\n time cat\n\nPress Ctrl+C\n\n2. How to measure the time of executing any executable command?\n\n time firefox\n\nwait 5 seconds and close the application\n\n3. How to CD to a user's home directory?\n\n cd ~userhome\n\n4. How to CD back to home folder of a currently logged in user?\n\n cd\n\n5. How to CD back to previous directory?\n\n cd -\n\n6. How to show all active host IP address?\n\n ip address\n\n7. How to list out all your iptables rules?\n\n iptables -L\n\n8. How to save your currently loaded firewall iptable rules?\n\n iptables-save\n\n9. How to download a file using wget?\n\n wget -c "http://website.com/file.rpm"\n\n10. How to limit your download rate with wget?\n\n wget --limit-rate=30k "http://vertito.com/file.rpm"\n\n11. How to download multiple files in one shot?\n\n wget -c "ftp://vertito.org/file[1-9].iso\n\n12. How to find windows machine with shared folders?\n\n findsmb\n\n13. How to look for windows netbios name?\n\n nmblookup -A windows-ip-address\n\n14. How to browse for computers like network neighborhood does?\n\n smbtree\n\n15. How list folder shared by a particular windows machine?\n\n smbclient -L windows-machine\n\n16. How to diplay calendar without X?\n\n cal\n cal -3\n\n17. How to list out all harddisk partition?\n\n cat /proc/partitions\n fdisk -l\n\n18. How to list out all mounted and labeled harddisk partition?\n\n mount -l\n\n19. How to show host reboot history?\n\n last reboot\n\n20. How to get CPU info?\n\n cat /proc/cpuinfo\n\n21. How to show all interrupts?\n\n cat /proc/interrupts\n\n22. How to show last successful login users?\n\n lastlog\n\n23. How to search for a yet unknown package from web repo?\n\n yum search *packagemaybe*\n yum whatprovides packagemaybe\n\n24. How to setup a shell with yum?\n\n yum shell\n\n25. How to use yum locally?\n\n yum localinstall packagename\n\n26. How to find file with 750 file permission?\n\n find / -type f -perm 750\n\n27. How to find all files not owned by any user?\n\n find / -nouser\n\n28. How to find all files owned by a user?\n\n find /home -user vertito\n\n29. How to find files by group name?\n\n find /home -group vertito\n\n30. How to change timestamp of a file?\n\n touch -c -t 0707280337 testfile.txt\n(YYMMDDhhmm)\n\n31. How to change ownership of a file?\n\n chown user1:user1 testfile.txt\n\n32. How to set user password details and expiration?\n\n chage username\n\n33. How to change default home directory of a user?\n\n usermod -d /new-default-directory username\n\n34. How to change a user finger information?\n\n chfn username\n\n35. How to change a user shell information?\n\n chsh username\n\n36. How to change file mode bits?\n\n chmod testfile.txt\n\n37. How to change and update (multiple) user passwords in batch mode?\n\n chpasswd\n\n38. How to make an ISO image from contents of a directory?\n\n mkisofs -V label-name -r directory-name > iso-image.iso\n\n39. How to make an ISO image from contents of a directory and zip it in one shot?\n\n mkisofs -V label-name -r directory-name | gzip > iso-image.iso.gz\n\n40. Oh, how to eject a DVD/CD disk from a mounted DVD/CD drive?\n\n eject\n\n41. How to clear or erase all data from a mounted DVDRW / CDRW disk?\n\n cdrecord -v dev=/dev/cdrom blank=fast\n\n42. How to add an ext3 journal to a filesystem ?\n\n tune2fs -j /dev/sdb1\n\n43. How to create ext2/ext3 filesystem with bad block checking?\n\n mkfs.ext3 -c /dev/sdb1\n mkfs.ext2 -c /dev/sdb1\n\n44. How to combine and sort multiple raw files in one shot?\n\n sort file1 file2 | uniq > newfile\n\n45. How to compare two text files?\n\n diff file1 file2\n\n46. How to get more memory information?\n\n cat /proc/meminfo\n\n47. How to get the maximum number of threads of your host?\n\n cat /proc/sys/kernel/threads-max\n\n48. How to get the file properties of a file or folder?\n\n stat testfile.txt\n stat foldername\n\n49. How to backup harddisk to another host via ssh?\n\n dd bs=1M if=/dev/sda | gzip | ssh username@remote-ip-address 'dd of=hda.gz'\n\n50. How to run a command as another user?\n\n runuser another-user script-name-or-program
This is my first Wiki.\nIts a wiki about useful tips and tricks that i use.\nI create it for personal usage, but i decided share with everyone.\n----\n**Name: Ivan Pereira\n**OS: Debian GnuLinux and ~MacOSx\n!!![[My Blog|http://balsagoth.pt.vu]]
O Network Time Protocol (NTP) [1] é um protocolo que permite sincronizar (acertar) relógios de computadores através da rede. Existem vários programas cliente deste protocolo que são executados com a indicação do servidor NTP ao qual se devem sincronizar e acertar o relógio a partir daí.\nIsto pode ser feito com o ntpdate. Quem não tiver este pacote instalado:\n/*{{{*/\napt-get install ntpdate\n/*}}}*/\nE para acertar o relógio basta executar o ntpdate indicando o servidor que disponibiliza a hora certa. Neste caso e como exemplo vou utilizar um dos servidores que o Observatório Astronómico de Lisboa disponibiliza com a hora certa para Portugal.\n/*{{{*/\nntpdate ntp02.oal.ul.pt\n/*}}}*/\nVerificar também o timezone correcto, com o comando ''tzselect''
Annakin trained as a jedi under Qui-GonJinn and later Obi-WanKenobi.\n\nHe hung around with PadmeAmidala for a while, but eventually turned to the dark side and became DarthVader.\n\nEventually Annakin's son, LukeSkywalker, turned Annakin/Vader back to the light side, and Annakin was killed battling the Sith Emperor.
You can write a simple scripts to copy data from windows machines through samba, with simple command cp perform daily or weekly. One thing I would like to highlight here is the -u parameter. With -u parameter, cp will only perform the copy action if the source file is newer then the destination file.\n\nFor example, you have mount your windows drive to /mnt/win/db_svr, and wanna back the entire folder, you can do this.\n/*{{{*/\ncp -ruf /mnt/win/db_svr /var/backup/db_svr\n/*}}}*/\nFor Mounting windows drive through samba, check here.\n\nWith r is recursively and f is force, this will perform fine backup, if u put this line into crontab.\n\nBut too bad, scp do not have -u option, to do backup of linux, we can use rsync.
Useful Commands For The Linux Command Line\n\nThis short guide shows some important commands for your daily work on the Linux command line.\narch\nOutputs the processor architecture.\n\n$ arch\n\ni686\ncat\nOutputs the contents of a file.\n\n$ cat lorem.txt\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\ncd\nChange the working directory.\n\n$ cd /bin\n\ncksum\nPrint CRC checksum and byte counts of each file.\n\n$ cksum lorem.txt moo.txt\n\n3570240675 453 lorem.txt\n4294967295 0 moo.txt\ncp\nCopies a file.\n\n$ cp lorem.txt copy_of_lorem.txt\ndate\nOutputs the current date and time.\n\n$ date\n\nSat Mar 3 12:07:09 GMT 2007\ndf\nReports the amount of disk space used and available on filesystems.\n\n$ df\n\nFilesystem 1K-blocks Used Available Use% Mounted on<br>\n/dev/simfs 39845888 218048 39627840 1% /\ndir\nList directory contents.\n\n$ dir\n\ncopy_of_lorem.txt lorem.txt moo.txt www\ndu\nEstimate file space usage.\n\n$ du -h /bin\n\n7.8M /bin\necho\nDisplay a line of text.\n\n$ echo foobar\n\nfoobar\nfgrep\nPrint lines matching a pattern in a file.\n\n$ fgrep "irure dolor" lorem.txt\n\ncommodo consequat. Duis aute irure dolor in reprehenderit in voluptate\ngroups\nOutputs the user groups of which your account belongs to.\n\n$ groups\n\ngames users\nhostname\nOutputs the machines hostname on the network.\n\n$ hostname\n\nanapnea.net\nid\nOutputs user id, group id, and groups of your account.\n\n$ id\n\nuid=1478(smallfoot) gid=100(users) groups=35(games),100(users)\nls\nList directory contents.\n\n$ ls\n\ncopy_of_lorem.txt lorem.txt moo.txt www\nman\nOpens the manual page for a software or function.\n\n$ man bash\nmd5sum\nOutputs the MD5 hash sum of a file.\n\n$ md5sum lorem.txt\n\n56da9e37259af34345895883e6fd1a27 lorem.txt\nmkdir\nMakes a directory.\n\n$ mkdir foobar\nmv\nMoves a file.\n\n$ mv lorem.txt ipsum.txt\nping\nPings a host.\n\n$ ping -c 2 127.0.0.1\n\nPING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms\n\n--- 127.0.0.1 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 999ms\nrtt min/avg/max/mdev = 0.048/0.050/0.052/0.002 ms\nps\nOutputs running processes.\n\n$ ps\n\n PID TTY TIME CMD\n21542 pts/12 00:00:00 bash\n27706 pts/12 00:00:00 ps\npstree\nDisplay a tree of processes.\n\n$ pstree\n\ninit-+-2*[BitchX]\n |-3*[bash---sleep]\n |-fetchmail\n |-screen-+-bash---irssi\n | `-bash---ctorrent\n |-screen-+-bash---lisp.run\n | |-bash---vi\n | |-2*[bash]\n | `-bash---lynx\n |-2*[screen---bash---irssi]\n |-screen---irssi\n |-screen---bash\n |-screen-+-bash\n | `-irssi\n |-skjerm---irssi\n |-sshd-+-5*[sshd---sshd---bash---irssi]\n | |-8*[sshd---sshd---bash]\n | |-sshd---sshd---bash---screen\n | |-sshd---sshd\n | `-sshd---sshd---bash---pstree\n `-syslog-ng\npwd\nOutputs the name of current working directory.\n\n$ pwd\n\n/home/smallfoot\nsha1sum\nOutputs the SHA1 hash sum of a file.\n\n$ sha1sum lorem.txt\n\nc942ddebd142ec8bacac9213d48096e74bab4957 lorem.txt\nstat\nOutputs file status.\n\n$ stat lorem.txt\n\n File: `lorem.txt'\n Size: 453 Blocks: 8 IO Block: 4096 regular file\nDevice: 77h/119d Inode: 27312217 Links: 1\nAccess: (0644/-rw-r--r--) Uid: ( 1478/smallfoot) Gid: ( 100/ users)\nAccess: 2007-03-03 12:24:39.000000000 +0000\nModify: 2007-03-03 12:24:39.000000000 +0000\nChange: 2007-03-03 12:24:39.000000000 +0000\nrm\nRemoves a file or directory.\n\n$ rm lorem.txt\nrmdir\nRemoves a directory.\n\n$ rmdir foobar\ntouch\nChange a file's access and modification timestamps. If file does not exist, create it.\n\n$ touch lorem.txt\ntty\nOutputs the name of the current terminal.\n\n$ tty\n\n/dev/pts/16\nuname\nOutputs operating system, hostname, kernel version, date and timp, and processor.\n\n$ uname -a\n\nLinux anapnea.net 2.6.9 #1 SMP Wed Jul 19 16:24:18 MSD 2006 i686 Intel(R) Xeon(TM) CPU 2.80GHz GenuineIntel GNU/Linux\nuptime\nOutputs the system uptime.\n\n$ uptime\n\n 14:50:26 up 7 days, 17:52, 18 users, load average: 0.08, 0.02, 0.01\nvdir\nList directory contents.\n\n$ vdir\n\ntotal 8\n-rw-r--r-- 1 smallfoot users 453 Mar 3 12:32 copy_of_lorem.txt\n-rw-r--r-- 1 smallfoot users 453 Mar 3 12:24 lorem.txt\n-rw-r--r-- 1 smallfoot users 0 Mar 3 12:32 moo.txt\nlrwxr-xr-x 1 root root 18 Feb 27 19:33 www -> /var/www/smallfoot\nw\nShow who is logged on and what they are doing.\n\n$ w\n\n 12:14:30 up 5 days, 15:16, 19 users, load average: 0.00, 0.00, 0.00\nUSER TTY LOGIN@ IDLE JCPU PCPU WHAT\ncharlie pts/0 Fri21 3:26m 2.52s 2.52s irssi\nalice pts/2 Wed17 30:21m 0.00s 0.00s -bash\nemma pts/4 11:37 36:57 0.00s 0.00s -bash\nfrank pts/5 11:48 11:03 0.00s 0.00s -bash\nsmallfoo pts/12 12:01 0.00s 0.04s 0.01s w\nwc\nCounts lines in a file.\n\n$ wc -l lorem.txt\n\n7 lorem.txt\nwho\nOutputs who is currently logged into the system.\n\n$ who\n\ncharlie pts/0 Mar 2 21:37 (xtreme-11-65.acme.com)\nalice pts/2 Feb 28 17:48 (147.21.16.3)\nemma pts/4 Mar 3 11:37 (32.84-48-181.uac.com)\nfrank pts/5 Mar 3 11:48 (port-212-202-233-2.foobar.org)\nsmallfoot pts/12 Mar 3 12:01 (c-12776f4.cust.example.net)\nwhoami\nOutputs your username / the name of your account.\n\n$ whoami\n\nsmallfoot
Comandos Linux\nÁrvore de directorias do Linux\nComandos básicos\nOperações sobre ficheiros\nComandos sobre o sistema\nPeriféricos\nComandos do superutilizador\nCuriosidades\nShellScripting\nÁrvore de directorias do Linux\nDirectoria\n \nDescrição\n/bin Programas utilitários usados no arranque do sistema\n/boot \n\nArranque do sistema. Ficheiro com o núcleo (kernel)\ne mais alguns ficheiros auxiliares\n/dev Ficheiros com os dispositivos de hardware e perifericos.\n/etc Ficheiros de configuração do sistema operativo\n/home Directorias de trabalho dos utilizadores\n/lib Bibliotecas necessárias ao sistema\n/mnt Directoria usada para aceder a drives de discos amovíveis.\n/proc Ficheiros virtuais sobre o estado de componentes do S.O.\n/root Directoria de trabalho do superutilizador\n/sbin Programas para administrar e reparar o S.O.\n/tmp Ficheiros temporários (para todos os utilizadores)\n/usr Programas, bibliotecas, utilitários, documentação\n /usr/bin Programas e utlitários do sistema\n /usr/dict Dicionários para os correctores de texto\n /usr/doc Documentação, manuais sobre serviços e programas instalados.\n /usr/games Ficheiros de dados pertencentes a jogos\n /usr/include Bibliotecas do sistema\n /usr/info Documentação\n /usr/lib Bibliotecas dinâmicas\n /usr/man Manuais do sistema\n /usr/sbin Programas de administração do sistema (daemons)\n /usr/share Ficheiros de dados partilhados pelos programas e aplicações.\n /usr/X11 Sistema de janelas X e seus utilitários>ls -la\n /usr/local Pacotes de software opcionais instalados manualmente\n/var Ficheiros de dados do S.O.: ficheiros de correio electrónico, de impressão, locks e logs.\n /var/spool Filas de espera do correio electrónico e impressoras\n /var/lock Registo da ultilização de vários serviços e periféricos para impedir que vários utlizadores e periféricos colidam\n /var/run Ficheiros com identificação dos processos em curso\n /var/log Ficheiros com registo dos eventos do sistema\nComandos básicos\nDescrição\n \nComando\nListagem dos ficheiros e subdirectorias da directoria actual >ls\nListagem mais pormenorizada >ls -ls\nListagem de ficheiros e subdirectorias >ls -la (lista também os ficheiros começados por .)\nListagem recursiva de uma directoria e subdirectorias dessa >ls -lR\nListagem de ficheiros de uma dada extensão\n >ls *.conf\nEnviar listagem para ficheiro >ls -ls > ficheiro\nCriar nova directoria >mkdir nome_da_directoria\nRemover directoria >rmdir nome_da_directoria\nRemover directoria e subdirectorias de uma só vez >rm -R nome_da_directoria\nRemover ficheiro >rm ficheiro\nMudar para outra directoria >cd outra_directoria\nMudar para a directoria anterior >cd ..\nMudar para a directoria raíz (directoria principal do sistema) >cd /\nSaber a directoria corrente >pwd\nVêr estrutura da directoria actual e suas subdirectorias >tree\nCopiar um ficheiro para outro com outro nome >cp ficheiro1 ficheiro2\nCopiar ficheiro de uma directoria para a directoria actual >cp /etc/services/ficheiro1 .\nCopiar ficheiro de uma directoria para outra, com outro nome >cp /etc/services/ficheiro1 /etc/passwd/ficheiro2\nMover um ficheiro para outro com outro nome >mv ficheiro1 ficheiro2\nMover um ficheiro de uma directoria para outra, com outro nome >mv /etc/services/ficheiro1 /etc/passwd/ficheiro2\nMover ficheiro da directoria anterior para a actual >mv ../ficheiro1 .\nVisualizar ficheiros de texto >cat texto.txt\nVisualizar ficheiros de texto >more /etc/services\nEncontrar ficheiros >find / -name ficheiro -print\nEncontrar ficheiros não alterados recentemente >find /usr/bin -type f atime +100 -print (100 dias)\nEncontrar ficheiros alterados recentemente >find /usr/bin -type f mtime -10 -print (10 dias)\nEncontrar ficheiro >whereis ficheiro (ou >locate ficheiro)\nEncontrar texto (string) dentro de ficheiros >fgrep "string" ficheiro\nComprimir ficheiro >gzip ficheiro (ou >bzip2 ficheiro)\nDescomprimir ficheiro >gunzip ficheiro\nCriar um link simbólico >ln -s ficheiro_antigo ficheiro_novo\nArquivar uma directoria >tar -c directoria > nome_do_ficheiro_compactado.tar\nBackup de uma directoria >tar czvf ficheiro.tgz /directoria1/directoria2\nDescomprimir ficheiro de backup >tar xzvf ficheiro.tgz\nMostrar lista de ficheiros num ficheiro de backup >tar tvf ficheiro.tgz\nAceder ao help do linux >man nome_do_comando\nInformação sobre um comando >apropos comando\nAlterar protecções de ficheiro ou directoria >chmod XXX ficheiro/directoria\nAlterar protecções de utilizador >chown root user\nAlterar password >chpasswd\nOperações sobre ficheiros\nDescrição\n \nComando\nOrdenar ficheiro >cat ficheiro |sort|uniq|more\nVisualizar primeiras linhas de ficheiro de texto >head ficheiro\nVisualizar últimas linhas de ficheiro de texto >tail ficheiro\nNúmero de linhas de um ficheiro >wc ficheiro\nCriar ficheiro vazio >touch ficheiro\nCortar linhas de ficheiro >cut -b 1-10 ficheiro > novo_ficheiro\nJuntar ficheiros >cat ficheiro1 ficheiro2 > ficheiro3\nSeparar ficheiro >split -l 10 ficheiro parte_ (separa em ficheiros de 10 linhas)\nComparar ficheiros >diff ficheiro1 ficheiro2\nComandos sobre o sistema\nDescrição\n \nComando\nInformação da memória >mem\nMemória usada pelo S.O. >free\nEspaço livre em disco >df\nEspaço ocupado >du\nNome e versão do S.O >uname -a\nUptime (tempo sem ter sido desligado) >uptime\nVariáveis de ambiente >printenv\nConfigurar sistema em X-Windows >control-panel &\nMudar para outra shell (neste caso para tcsh) >chsh -s /bin/tcsh\nHoras >time\nData >date\nAdormecer processador >sleep 10\nAdicionar caminho ao PATH numa sessão >PATH=$PATH:/directoria; export PATH\n(para ser permanente alterar em .bash_profile)\nMensagem a todos os utilizadores >wall msg\nColocar alias de comandos - em /etc/directory/.bashrc >alias rm = "rm -i" (para executar logo source .bashrc)\nVisualizar processos em background >jobs\nVisualizar todos os processos >ps ax\nMatar processo >kill -9 número_do_processo\nParar um processo >kill -STOP número_do_processo\nPeriféricos\nDescrição\n \nComando\nMontar CD-ROM >mount /dev/cdrom /mnt/cdrom -t iso9660\nDesmontar CD-ROM >unmount /mnt/cdrom\nEjectar CD-ROM >eject /dev/cdrom\nFormatar disquete >fdformat /dev/fd0H1440\nColocar um file system na disquete >mke2fs -c -v -L "linux1" /dev/fd0\nMontar disquete >mount -t ext2 /dev/fd0 /mnt/floppy\nMontar disquete formatada em DOS >mount -t ext2 /dev/fd0 /mnt/floppy -t vfat\nCopiar disquete para ficheiro >dd if=/dev/fd0 of=imagem.dat bs=1k\nCopiar do disco para disquete >dd if=image.dat of=/dev/fd0 bs=1k\nDuplicar disco rígido >dd if=/dev/hda of=/dev/hdb bs=512k\nVêr quais os volumes actualmente montados >mount\nMontar file system (mkdir /disco1) >mount /dev/hdb1 /disco1 -t ext2\nComandos do superutilizador\nDescrição\n \nComando\nAssumir identidade de superuser >su\nAssumir identidade de outro user >su user\nAdicionar novo user com o número 301 ao grupo 300 >useradd -u 301 -g 300 /bin/sh -d /home/manuel manuel\nAdicionar um utilizador a um grupo >groupadd -g 400 gp-users\nRemover utilizador >userdel -r manuel\nInformação sobre o espaço ocupado em disco por um user >quota user\n \n \nCuriosidades\nDescrição\n \nComando\nCalculadora >expr 10+5-3\s*2\nPrompt >PS1='Date: \sd Time: \st ->'; export PS1\nShell Scripting\nDescrição\n \nComando\n
Este documento fala sobre metodos de compressão como o gz, bz2, zip, Z\n e tambem aborda o tar e o ar.\n\n----\n\n!!Indice\n\n\n 1. Introdução\n 1.1. Disclamer\n 1.2. Comentarios\n\n 2. Compressão\n 2.1. gz\n 2.2. bz2\n 2.3. zip\n 2.4. Z\n 2.5. a\n\n 3. Juntar ficheiros\n 3.1. tar\n 3.2. Uso do tar juntamente com os metodos de compressão\n\n 4. Conclusão\n\n\n ______________________________________________________________________\n\n\n\n!1. Introdução\n\n Compactar e descompactar ficheiros é uma tarefa relativamente simples\n mas muita gente que anda por ai não sabe muito bem as diferenças\n entre os metodos que podem usar.\n Com este documento irei explicar como se podem comprimir/descomprimir\n ficheiros, directorios usando o gzip, bzip2, Z e o zip.\n E ainda como usar o tar para usa-lo juntamente com os metodos de\n compressão, e o que é o ar.\n\n\n\n!!1.1 Disclamer\n\n Em principio tudo que é posto aqui não irá causar nenhum problema ao\n vosso sistema, mas se por alguma razão vocês fizerem asneira a culpa\n será só vossa não me podendo responsablizar por tal.\n\n\n\n!!1.2 Comentarios\n\n Este howto não pretende ser uma ajuda ao pormenor, se necessitarem de\n ver alguma coisa rapida sempre poderam ver as man pages que explicam\n todos os parametros e afins.\n\n Quando me refiro a 'gz', 'bz2', 'Z' e 'a' refiro-me a gzip/gunzip,\n bzip2/bunzip2, compress/uncompress e a ar.\n\n Peço desculpa pelo meu português que esta longe de ser correcto.\n\n Este documento podera ser encontrado em http://www.bubix.net/~coolmaster\n ou em http://www.linux-newbies.web.pt.\n Se acharem que alguma coisa esta errada aqui poderam enviar-me algum\n tipo de comentario para o email ou no IRC, irc.PTlink.net no #PST\n ou irc.PTnet.org no #Tavola.\n\n Sites de referencia para ajuda:\n http://www.linux-newbies.web.pt\n http://www.linuxdoc.org\n http://www.gnu.org\n\n\n\n\n!2. Compressão\n\n Todos nos sabemos o que significa a palavra "compressão", o acto de\n comprimir é transformar uma coisa grande em pequena e no entanto\n evitar que se percam informações, e o acto de descomprimir é\n transformar alguma coisa comprimida no seu estado normal.\n Em termos de informatica o conceito é o mesmo, existem varios metodos,\n formas, programas de compressão... já devem ter ouvido falar sobre o\n zip, o zip é um metodo de compressão, os programas de compressão\n são peças de software que seguem esse metodo (algoritmo), se vem de\n Windows o mais provavel é ter ouvido falar no WinZip.\n Alguns metodos de compressão famosos são: rar, zip, ace, gz, bz2...\n Em GNU/Linux e outros UNIXes em geral os mais usados são o gz e o bz2\n embora o zip tambem seja usado frequentemente.\n\n\n\n!!2.1. gz\n\n O gzip usa o metodo de Lempel-Ziv coding (LZ77).\n Este tipo de compressão é bastante usada, senão a mais usada entre\n a familia UNIX.\n\n Podera ser usado da seguinte forma:\n gzip ficheiro\n\n O gzip apenas pode compactar ficheiros "reais", não pode compactar\n directorios, links simbolicos e afins.\n No entanto pode compactar ficheiro a ficheiro de um determinado\n directorio, para isso no campo do ficheiro especificar directorios,\n deverá ser usado com a opção -r (recursive).\n\n A opção -c (-stdout -to-stdout) serve para enviar o output\n para o stdout (standard output), a -d (decompress uncompress)\n serve para descompactar. Esta ultima opção pode ser usada com\n o gzip e gunzip alterando assim o seu uso de compactação para descompactação.\n\n gzip -d file.gz\n é igual a\n gunzip file.gz\n\n O gunzip como já devem ter reparado serve para descompactar .gz\n\n Usando a opção -# (-fast -best) serve para definir o "grau" de\n compressão tal como a sua velocidade. (nota: quanto melhor for\n a compressão mais lento é). O '#' significa um numero entre 1 e 9\n 1 para mais rapido e 9 para melhor. O 6 é o default.\n\n gzip -9 file\n\n\n A opção -l ira dar algumas informação tal como o tamanho de compressão,\n o tamanho original, o ratio e o nome do ficheiro descomprimido.\n\n O gunzip (gzip -d) podera descompactar ficheiros como .gz, -gz, .z, -z,\n _z, .Z.\n\n O zcat é similar ao gzip -c e serve para enviar o output para o stdout,\n e podera servir para concatenar ficheiros (tal como o cat faz), um exemplo\n simples:\n gzip -c ficheiro1 > linuxdoc.gz\n gzip -c ficheiro2 >> linuxdoc.gz\n\n Isto serve para redirecionar ficheiros (compactados ou não) para o\n linuxdoc.gz, concatenado-os.\n (A explicação do uso dos operadores de direcção (> e >>) não fazem parte\n deste howto.)\n\n Para ver o seu conteudo podera ser usado:\n gzip -cd linuxdoc.gz\n\n\n\n!!2.2. bz2\n\n Outro dos formatos mais conhecidos é o bz2, este formato permite tirar\n uma melhor capacidade de formatação do que o gz, zip e Z.\n Segundo a man page o bz2 usa "(...)Burrows-Wheeler block sorting text\n compression algorithm, and Huffman coding".\n Tem a opção -c e -d igual a do gzip. Contém tambem um programa de\n concatenação chamado bzcat. Contem a opção -z (-compress ) que\n serve para comprimir.\n Os comandos da famlia bz2 lêm duas variaveis do ambiente, BZIP2 e BZIP\n por essa ordem, se elas conterem alguma coisa, os seus valores seram\n posto como parametros.\n Segundo a man page a opção -1 a -9 seta o tamanho dos blocos para 100k,\n 200k..., 900k. (nota: ver man page para ver o que significa).\n Bzip2 tem uma tool para recuperar ficheiros em bz2 corruptos chamado bz2recover.\n\n O uso é identico ao gz.\n\n\n\n!!2.3. zip\n\n O formato de compressão mais utilizado para plataformas Windows é o zip\n dado ao tão conhecido programa WinZip.\n Segundo a man page do zip ele é usado em diversas plataformas e sistemas\n operativos.\n Para ser sincero nunca usei muito o zip fora do Windows mas pelo que estou a\n ver na man page tem algumas boas features. Uma delas é a opção "-@" que pega\n numa lista de ficheiros o exemplo tirado da man page:\n\n find . -name "*.[ch]" -print | zip source -@\n\n iria zipar todos os ficheiros com extensão "h" e "c" ou seja ou seja a extensão\n de ficheiros header e source files da linguagem C. Tambem pode ser utilizado\n juntamente com o tar para uma melhor forma de compactar directorios em vez da\n opção -r.\n O zip tem imensos parametros a serem tomados como argumentos, não me vou limitar\n a copia-los para aqui por isso recomendo lerem a man page. Tantas opções como,\n adicionar comentarios, colocar password, apagar ficheiros de um ficheiro zip e\n afins, mais uma vez leiam a man page.\n\n O uso simples seria:\n\n zip ficheiro-para-zip ficheiro-a-ser-zipado\n\n a opção -r faria o "ficheiro-a-ser-zipado" tomado como um directorio e zipar\n recursivamente os ficheiros no directorio para o ficheiro-para-zip .\n\n Para fazer o unzip utiliza-se o comando:\n\n unzip ficheiro.zip\n\n Mesmo com a quantidade de features que o zip dispõe o bz2 e o gz continuaram a ser\n os mais utilizados por mim e não só como metodo de compressão "preferido".\n\n\n\n!!2.4. Z\n\n Isto descobri a pouco tempo, chama-se compress.\n Este metodo não é muito usado, e tambem menos conhecido que os anteriores, o zcat\n pode ser utilizado tambem com este tipo de compressão. Não contem muitas opções,\n contem a nossa conhecida -c que faz exatamente o mesmo que no bz2 e gz.\n\n Para comprimir para este formato usa-se:\n compress file\n\n Para descomprimir:\n uncompress file\n\n\n\n!!2.5. a\n\n O ar não é um formato de compressão, ele permite criar, modificar e extrair\n ficheiros de "arquivos", ele é usado geralmente para bibliotecas, se formos\n ao /usr/lib poderemos ver que a libc e outras bibliotecas de C usam este\n metodo para guardar os seus objectos (.o) para mais tarde poderem ser usados\n na compilação de programas em C.\n Os ficheiros contidos no arquivo em ar chamam-se de membros.\n\n Pode usar:\n ar c arquivo.a ficheiros\n\n\n\n\n!3. Juntar ficheiros\n\n Se repararam para conseguir compactar um directorio todo num ficheiro é preciso\n usar uns truques. Por certo viram a opção -r de recursividade na man page do gzip,\n utilizaram-na e repararam que ele compactava ficheiro a ficheiro e deixava-os estar\n assim, claro que com os operadores ">" e ">>" seria possivel depois por os ficheiros\n todos num só, penso que não muito eficaz para este efeito (posso estar errado).\n Uma boa forma de o fazer é juntar os ficheiros que estão contidos num directorio,\n para isso poderam usar uma tool bastante conhecida chamada de "tar".\n Esta ferramenta não serve so para isso sendo tambem usada bastantes vezes para ajudar\n nos serviços de backups.\n Para se poder eliminar, modificar, listar e afins os membros de um gz, bz2, Z file\n necessitamos do tar (?)... por isso todas as opções que o zip contem ao se combinar o\n tar com os outros metodos ficam-se com tantas ou mais features do que o zip.\n\n\n\n!!3.1. tar\n\n O tar não é um metodo de compressão, apenas serve para juntar ficheiros multiplos\n num ficheiro.\n Opções como por exemplo -c (-create), servem para criar um tarfile, -delete\n para apagar ficheiros do tarfile, -t (-list) para listar conteudos de um tarfile,\n -f (-file) para usar o ficheiro, o -x (-extract, -get) serve para\n extrair um tarfile.\n\n Para criar um tarfile usa-se:\n\n tar cf ficheiro.tar ficheiro-a-ser-juntado\n\n O ultimo parametro neste caso podera ser um directorio, pondo os ficheiros nele\n contidos no ficheiro.tar conservando permissões, owner/groups, directorios e afins\n podendo com algumas opções estas "coisas" serem alteradas.\n Para fazer o untar a um tarfile usa-se:\n\n tar xf ficheiro.tar\n\n\n\n!!3.2. Uso do tar juntamente com os metodos de compressão\n\n Como já disse os metodos de compressão como o bz2, gz e Z são muito uteis quando\n combinados com o tar.\n O tar dispõe de inumeras opções para ajudar a (des)compactar ficheiros usando\n esses metodos, conta com opções como: o "-j", "-z", "-Z" servem para fazer o\n untar e descompactar com o bunzip2, gunzip e uncompress respectivamente.\n (Nota: em alguns sistemas que não sejam baseados em redhat a opção -y pode ser\n usada em vez da -j).\n\n Podemos então compactar a raiz de um directorio completo, para isso podemos usar:\n\n tar cf file.tar dir # nota que no tar tanto faz por "-" nas opções é o mesmo que\n # -cf\n gzip file.tar\n\n e assim obtinha-mos um ficheiro tar.gz neste caso file.tar.gz\n em vez do gzip podera-se utilizar o compress ou o bzip2 como é obvio.\n\n Para descompactar poderiamos usar:\n\n gunzip file.tar.gz\n tar xf file.tar\n\n (nota: qualquer das opções "jzZ" poderam ser utilizadas para facilitar a coisa num\n so comando, tipo: tar xfz file.tar.gz)\n\n\n Como já poderam constatar o tar têm imensas features, por exemplo queremos ver\n o conteudo de um ficheiro .tar.gz mas não queremos descompacta-lo, fazer `ls`\n e depois eliminar o que descompactamos... Poderemos então combinar o tar com\n o gzip/gunzip, bzip2/bunzip2/bzcat ou até zcat para o compress e gzip.\n Fazendo o seguinte para o caso de ser 1 .gz file:\n\n gzip -cd file.tar.gz | tar -t\n\n Como sabemos a opção -c envia para o stdout e o -d descompacta logo ele ira descompactar\n para o stdout, como usamos o pipe (|) ele ira redirecionar o output do comando gzip\n para o comando tar, que com a opção -t irá listar os ficheiros e directorios.\n\n Com este exemplo simples poderemos ver o poder e a importancia que o tar tem com estas\n ferramentas.\n\n\n\n\n!4. Conclusão\n\n Bem, posso concluir então que os metodos mais usados são o bz2 e o gz em UNIXes.\n Se pretendermos utilizar um ficheiro compactado para distribuir noutros sistemas\n que não tenham tar nem gzip/bzip2/compress instalados (por exemplo Windows) podera ser\n util utilizar-se o zip, apesar de algumas ferramentas do Windows incluindo o WinZip já\n serem capazes de visualizar ficheiros em tar e gz (bz2 penso que não).\n Podemos tambem concluir que usando os metodos normais de compressão, o bz2 bate\n os outros metodos aqui falados, a seguir está o tamanho de ficheiros comprimidos\n em que o ficheiro original (.tar) ocupa: 2160640 bytes\n\n|!-rw-rw-r--|!1 coolmast coolmast|!2160640 Aug|!4 20:36 dekadent.tar|\n|! -rw-rw-r-- |! 1 coolmast coolmast |! 81401 Aug |! 4 19:44 dekadent.tar.bz2|\n|! -rw-rw-r-- |! 1 coolmast coolmast |! 101123 Aug |! 4 20:04 dekadent.tar.gz|\n|! -rw-rw-r-- |! 1 coolmast coolmast |! 139393 Aug |! 4 19:46 dekadent.tar.Z|\n|! -rw-rw-r-- |! 1 coolmast coolmast |! 212208 Aug |! 4 20:37 dekadent.zip|\n\n É bem notoria a diferença entre o bz2 e o gz, Z e zip. Neste caso o zip foi\n feito a partir do dekadent.tar, se tivessemos usado o zip para comprimir\n o directorio apenas ocuparia: 110982 bytes, logo aquele valor em cima não demonstra\n as capacidades de compressão zip, mesmo assim era batido pelo bz2 e gz.\n Talvez aqui consigamos chegar a conclusão porque o Z não é muito usado, sem duvida\n o que comprime menos e talvez por ter muito menos opções.\n Não esquecer que os .tar.gz podem aparecer com .tgz e os .tar.Z em .taz.\n Os ficheiros a compactar podem conter como é obvio wildcards.\n\n Eu pessoalmente uso o gz e o bz2 pela sua facilidade, features, boa interactividade\n com o tar e comprimem razoavelmente bastante bem.\n\n Outros metodos de compressão existem, cabe a si descobrir quais procurando em sites\n da *especialidade*, apenas falei nos que geralmente estão instalados na maioria\n dos sistemas.\n\n Devera ler as man pages do bzip2, gz, zip, compress, ar e tar caso queira saber todas\n as opções e features existentes, ou procurar outro manual. \n\nCreditos:\n\n Nelson Rocha (CoolMaster), coolmaster@PTlink.net\n v1.1, 04/08/2002\n Ultima revisão, 15/08/2002\n
What is my public IP address? There is a lots of website can provide you the information. What if I wanna grep it for my script? We can use curl and grep for this purpose.\n\nFirst, lets pick few websites that provide the service to reveal my public IP.\nhttp://www.ipchicken.com/ - the chicken looks so funny.\nhttp://whatismyip.com/ - a guy playing VR game.\nhttp://myip.dk/ - a simple website but served the purpose.\n\nNext, lets crawl the page and grep the IP\n\n/*{{{*/\ncurl -s http://myip.dk/ | egrep -m1 -o '[0-9]{1,3}\s.[0-9]{1,3}\s.[0-9]{1,3}\s.[0-9]{1,3}'\n/*}}}*/\nYou can use wget if you do not install curl\n/*{{{*/\nwget -qO - http://myip.dk/ | egrep -m1 -o '[0-9]{1,3}\s.[0-9]{1,3}\s.[0-9]{1,3}\s.[0-9]{1,3}'\n/*}}}*/\nThe important part is the regex. [0-9] indicate any digit within 0 - 9 and {1,3} indicate it should appear minimum 1 time, maximum 3 times. -o indicate grep to print the matched part and -m1 is to limit the grep process to stop at first match.\n\nhttp://whatismyip.org/ - no need to grep, just curl it.\n/*{{{*/\ncurl -s http://whatismyip.org/\n/*}}}*/\nIt seems that getting public IP from http://whatismyip.org/ is far more convenient, the limitation is that you are allow to access the page only 3 times within 10 minutes.\n\nAfter all, I just enjoy greping with regex :)
[[Ntfs]] ~HOWto\n[[Acertar a Hora]]\n[[Making scripts run at boot time with Debian]]
GettingStarted\n
[[Oficial page|http://dmiessler.com/study/find/]]\n\nfind is one of the most useful Linux/Unix tools around, but most people use only a fraction of its power. Many Linux/Unix questions seen online can be solved using the find command alone; it's simply a matter of becoming familiar with its options.\n\nThe power of find lets you do anything from finding all your .jpg files to seeing "all of Michael's files that have the execute bit set and have been modified since yesterday." When combined with xargs, a properly wielded find command can make many common tasks ten times easier.\n\nBasics\n\nLet's start simple and get progressively more advanced. To begin with we'll look at finding things by name. Remember that the first argument you give find is where to look.\nFind all files with something in their name:\nfind . -name "*.jpg"\n\n...\n./Pictures/iPhoto Library/Data/2006/Roll 20/00697_bluewaters_1440x900.jpg\n./Pictures/iPhoto Library/Data/2006/Roll 20/00705_cloudyday_1440x900.jpg\n./Pictures/iPhoto Library/Data/2006/Roll 20/00710_fragile_1600x1200.jpg\n./Pictures/iPhoto Library/Data/2006/Roll 20/00713_coolemoticon_1440x900.jpg\n./Pictures/iPhoto Library/Data/2006/Roll 20/00714_cloudyday_1440x900.jpg\n...\n\nNote that by default when you give a location to start from (in our case "."), the find command starts there and drills all the way down during its search. So in this case I started from my home directory and it found the files all the way down in "~/Pictures/iPhoto Library/Data/2006/Roll 20" as well.\n\n** Placing quotes around the search criteria avoids issues with wildcard characters and is probably a good habit to get into. You can also use -iname instead of -name; it's the same but it's case insensitive\nFind all files that belong to a certain user:\nfind . -user daniel\n\n...\n./Music/iTunes/iTunes Music/Tool/Undertow/01 Intolerance.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/02 Prison Sex.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/03 Sober.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/04 Bottom.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/05 Crawl Away.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/06 Swamp Song.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/07 Undertow.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/08 4 Degrees.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/09 Flood.m4a\n./Music/iTunes/iTunes Music/Tool/Undertow/69 Disgustipated.m4a\n...\n\n** Also works for groups (-group)\nFind only directories, regular files, links, or sockets:\nfind . -type d\n\n...\n./Development/envelope\n./Development/mhp\n./Development/mservers\n./Development/mservers/fortune100\n./Development/mst\n./Development/mst/nmap\n./Development/mst/services\n...\n\nThose are all directories, and to look for the others (files, links, or sockets), just substitute f, l, s for the d in the command above.\nFind files that are over a gigabyte in size\nfind ~/Movies -size +1024M\n\n...\n/Movies/Comedy/Funny.mpg\n/Movies/Drama/Sad.mpg\n...\n\n\nCombining Arguments\n\nYou can also combine arguments using and, or, and not. By default if you use two different arguments you're and'ing them. If you want to use or you give the -o option, and if you want to get everything except something, you use the ! option.\nFind only regular files, owned by daniel, that are also jpg images\nfind . -user daniel -type f -name *.jpg\n\n...\n./Pictures/iPhoto Library/autumn_woods.jpg\n./Pictures/iPhoto Library/blue_forest.jpg\n./Pictures/iPhoto Library/brothers.jpg\n...\n\nNow do the same, but exclude anything named autumn\nfind . -user daniel -type f -name *.jpg ! -name autumn*\n\n...\n./Pictures/iPhoto Library/blue_forest.jpg\n./Pictures/iPhoto Library/brothers.jpg\n...\n\n\nForensics\n\nfind also has a number of options that help one answer forensics-oriented questions such as when a file was last changed or what files have had their permissions modified recently.\nFind all files in /etc owned by root that have been modified within the last day\nfind /etc -user root -mtime -1\n\n...\n/etc/passwd\n...\n\nThe checks you can use here are:\n\n * -atime: when the file was last accessed\n * -ctime: when the file's permissions were last changed\n * -mtime: when the file's data was last modified\n\nThese searches are done in 24 hour increments and followed by a number n. If you want to match the exact 24 hour period you use n by itself. More frequently, however, you'll want to say everything since yesterday, or everything "more than 3 days ago." This is accomplished using the -n and +n options respectively.\n\nThere are also minute versions of the atime, ctime, and mtime arguments:\n\n * -amin: when (in minutes) the file was last accessed\n * -cmin: when (in minutes) the file's permissions were last changed\n * -mmin: when (in minutes) the file's data was last modified\n\nShow me all files in /etc owned by root that have been accessed within the last two minutes\nfind /etc -user root -amin -2\n\n...\n/etc/hosts\n/etc/resolv.conf\n...\n\nA list of a few other forensics-oriented options:\n\n * -nouser: shows output that's not associated with an existing userid\n * -nogroup: shows output not associated with an existing groupid\n * -links n: file has n links\n * -newer file: file was modified more recently than file.\n * -perm mode: file has mode permissions.\n\nShow me all files in ~ with wide open permissions\nfind ~ -perm 777\n\n...\n~/testfile.txt\n~/lab.rtf\n...\n\n\nCombining find With xargs\n\nThis is the piece that we've been leading up to -- performing an action on the stuff that we find with find. So while it's interesting to say, "Show me this stuff", it's far more useful to say, "Take every text file owned by Jason that's hasn't been accessed in 60 days and move it to the backup folder."\n\nCookbook Examples Of find in action\n\n** Be sure to test these on your system before using them for important files\nFind all files on your system that are world writable. The 0002 denotes a 2 in the "other" field in the file permissions, which is the write bit\nfind / -perm -0002\n\nCollect files that are not owned by valid users and delete them\nfind / -nouser -print0 | xargs -0 rm\n\nClean the images off of your *nix desktop\nfind ~/Desktop -name "*.jpg" -o -name "*.gif" -o -name "*.png" -print0 | xargs -0 mv --target-directory ~/Pictures\n\n** The -print0 option terminates results with a null character instead of the default newline, making it cleaner and less likely to balk in many cases\nCorrect the permissions on your web directory\nfind /your/webdir/ -type d -print0 | xargs -0 chmod 755\nfind /your/webdir -type f | xargs chmod 644\n\nShow a list of files in /etc that have been modified since last month\nfind /etc -mtime -30\n\nA Final Thought\n\nThere is a bit of a debate in some circles about using xargs vs. the -exec option that's built into find itself. To me, however, it's not much of a debate; -exec isn't nearly as good as xargs for what I use find for. I tend to use it to do big jobs involving many files. "Move all these files there", "copy all those directories there", "Delete these links.", etc.\n\n This is where -exec breaks down and xargs stands up. Whe you use -exec you run a seperate instance of the called program for each input. With xargs, you build up the input into bundles and run them through the called command as few times as possible, which is usually just once. When dealing with hundreds or thousands of elements this is a big win for xargs.\n\nDon't believe me? Well, let's run some numbers. Below is a listing of 5,310 .jpg files on my OS X system using both -exec and xargs:\ntime find . -name "*.jpg" -exec ls {} \s;\n\nreal 0m23.548s\nuser 0m3.913s\nsys 0m15.167s\n\nHmm, that's not bad. 23 seconds for over five thousand files, right? Let's try it with xargs.\ntime find . -name "*.jpg" -print0 | xargs -0 ls\n\nreal 0m1.526s\nuser 0m0.667s\nsys 0m0.864s\n\nThat's 2 seconds vs 24 seconds. Seriously; find and xargs is the combination you want to use.\n\n\n\nReferences\n\nThe find man page:\nhttp://www.netadmintools.com/html/find.man.html\n\nThe xargs man page:\nhttp://www.research.att.com/~gsf/man/man1/xargs.html\n\n\n\n\n\nGentoo Linux\nGentoo Linux\nGentoo Linux\n\nvisitor stats\n\n\nPopular\n\n * It's Time to Drop the "www"\n * The Nice Guy Paradox\n * The Bimbo and the Caveman\n * A tcpdump Primer\n * The lsof Command\n * Why You Should Create and Submit Your Own Content to Digg and Reddit\n *\n * UNIX's find Command\n * Understanding Network Ports\n * Security and Obscurity\n * The Diffie-Hellman Protocol\n * Measuring The Quality Of A Society\n * 10 Questions To Ask During An Information Security Interview\n\nShared Links\n\n * Security World: NSA Secure Workstation Solution to...\n from InfoSec News\n * Thanks Reddit. You've changed me from a happy guy...\n from reddit.com: what's new online\n * The Bet of a Market Crash Has Global Traders Talking…\n from reddit.com: what's new online\n * NYC to try experimental new welfare system, where...\n from reddit.com: what's new online\n * Two scholars revisit “The Israel Lobby.”\n from reddit.com: what's new online\n * World dodged the bullet in bird flu spread. Scientists...\n from reddit.com: what's new online\n * Rumor: Google Phone Confirmed By HTC Insider\n from Digg\n * The Short Proof of Evolution\n from Dustin's Blog\n * Why I’m an Athiest\n from Dustin's Blog\n * Off the wire: Layers in IT security\n from InfoSec News\n\nRead more...\n\nTwitter\n\n *\n o Mmmmm...Google Phone. Much to say about this... about 17 hours ago\n o I need to start adding multimedia to my blogging mix. I'll start with some audio I think. Perhaps a post combined with some expansion on ... about 17 hours ago\n o I need to start adding multimedia to my blogging mix. I'll start with some audio I think. Perhaps a post combined with some expansion on ... about 17 hours ago\n o Added Mahalo to my Firefox Quick Searches. 2 days ago\n o Ugh, home sick today. Bad pizza me thinks. 8 days ago\n\n\n\n\n
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:\n* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)\n* MainMenu: The menu (usually on the left)\n* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened\nYou'll also need to enter your username for signing your edits: <<option txtUserName>>
This will install growisofs (used for burning) and dvd+rw-tools (used for formatting a DVD-RW).\n\nIf you are using a DVD-RW, you need to format it in the first place, let suppose that our DVD burner is located at /dev/hda, it might be somewhere else, check your /etc/fstab in order to find out more. Here is the dvd formating command line:\n/*{{{*/\n $ dvd+rw-format -force /dev/hda\n/*}}}*/\nNow that your DVD is blank, let's burn it. Suppose that you want to burn the content of /my/directory/datas at the root of the DVD, you need to type:\n\n/*{{{*/\n $ growisofs -dvd-compat -input-charset=ISO-8859-1 -Z /dev/hda -R -J -pad "/my/directory/datas"\n/*}}}*/\nMind that input-charset is setted to the right value. If you do not define it, you default system charset will be used.\n\nThe previous command is rather simple, but not really convenient as everything will be at the root of the DVD.\n\nWe are now going to make something a bit more ordered. Let say I want to burn the content of /my/directory/datas1 in /dir1 at the root of the DVD, and /my/directory2/content in /otherdir. In this case, we are going to graft directories and the command line will look like:\ne:\n/*{{{*/\n $ growisofs -dvd-compat -input-charset=ISO-8859-1 -Z /dev/hda -R -J -pad -graft-points "/dir1=/my/directory/datas1" "/otherdir=/my/directory2/content"\n/*}}}*/\nThe -R and -J generate records for the Rock Ridge protocol and for Joliet directories (usefull for windows-NT and windows 95 machines). These switches are mkisofs options. You can get more informations from man mkisofs.\n\nThe -Z switch is a growisofs argument, it defines an initial burning session. If now, you want to append datas to your project, use -M like:\n\n/*{{{*/\n $ growisofs -dvd-compat -input-charset=ISO-8859-1 -M /dev/hda -R -J -pad -graft-points "/morecontent=/my/new/dir"\n/*}}}*/
\n\nHow to create ISO images from terminal?\nHow to create CD/DVD ISO image of files/folder from terminal?\nHow to create CD/DVD ISO image of CD/DVD disk from terminal?\nHow to burn ISO image file into floppy or CD/DVD disk from terminal?\nHow to burn ISO image file into floppy or CD/DVD disk from Gnome F7?\nHow to burn DVD .IMG file to DVD disk from terminal?\nHow to blank fast and erase files from CD-RW/DVD-RW disk from terminal?\nHow to mount/unmount ISO image from terminal?\nHow to create MD5 checksum of ISO image file from terminal?\nHow to verify MD5 checksum of ISO image file from terminal?\n\n\nThis blog entry assumes these below topics:\n\na. creation and verification of ISO image files\nb. CD/DVD burning of ISO/IMG image files\nc. mounting and unmounting of ISO image files\n\n\nHere you go, straight questions and answers.\n\n\nHow to create ISO images from terminal?\n\nCreating ISO images from terminal begins with the mkisofs and/or dd linux commands.\n\n\n\nHow to create MD5 checksum of ISO image file from terminal?\n\n# md5sum myISOfile.iso > myISOfile.iso.md5\n\n\nHow to verify MD5 checksum of ISO image file from terminal?\n\n# md5sum -c myISOfile.iso.md5\n\n\nHow to create CD/DVD ISO image of files and/or folder from terminal?\n\nFor creating ISO image from folder\n# mkisofs -r -o myisofile.ISO myfolder\n\nFor creating ISO image from file\n\n# dd if=mybigfile of=myisofile.ISO\n\nor\n\n# mkisofs -r -o myisofile.ISO mybigfile\n# mkisofs -r -o myisofile.ISO *.mp3\n\n\nHow to create CD/DVD ISO image of CD/DVD disk from terminal?\nHow to create an ISO copy CD/DVD disk from terminal?\n\nFor non-bootable and data ISO image file, just mount the CD/DVD disk first like so\n# mount /dev/cdrom /mnt/myCDdrive\n# mount /dev/dvd /mnt/myDVDdrive\n\nAnd create the ISO image file from CD disk like so\n# mkisofs -o myCDiso.ISO /dev/cdrom\n\nAnd from DVD disk\n# mkisofs -o myDVDiso.ISO /dev/dvd\n\nAn alternative would be done with the below command and without the need of mounting the disk as shown below.\nThis is also preferrable for creaing bootable CD disk.\n# dd if=/dev/cdrom of=myCDiso.ISO\n\nAnd for DVD disk\n# dd if=/dev/dvd of=myCDiso.ISO\n\n\nHow to burn ISO image file into floppy or CD/DVD disk from terminal?\n\nFor floppy\n# dd if=myfloppyISOfile.ISO of=/dev/floppy\n\nFor CD/DVD\n# dd if=myCDISOfile.ISO of=/dev/cdrom\n\nor\n\n# dd if=myCDISOfile.ISO of=/dev/cdrom-sr0\n\nand for DVD\n\n# dd if=myCDISOfile.ISO of=/dev/dvd\n\nHow to burn ISO image file into floppy or CD/DVD disk from Gnome F7?\n\nGo to Gnome > Places > CD/DVD creator. Copy and paster files and folder and click Write to Disc\n\n\nHow to burn DVD .IMG file to DVD disk from terminal?\n\n# growisofs -Z /dev/dvd=myDVDimagefile.IMG\n\n\nHow to blank fast and erase files from CD-RW/DVD-RW disk from terminal?\nThis was also mentioned here.\n\nCD-RW\n# cdrecord dev=/dev/cdrom blank=fast\n\nDVD-RW\n# cdrecord dev=/dev/dvd blank=fast\n\n\nHow to mount/unmount ISO image from terminal?\n\nTo mount CD\n# mkdir /mnt/cdrom\n# mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom\n\nTo unmount\n# umount /mnt/cdrom\n\n\n\nYou might be interested on using the right click mouse button to open a link in background in a new browser window or separate tab with the below boxes in black.\n\nThat's it for now. Thanks!
CommandLine1 - Useful linux commands 1\nCommandLine2 - Another diferent view\n[[Mount USB pen]]\nGrowIsofs\n[[Sortcuts Command-line]]\n[[Compressao HowTo]]\n[[Pdftk How to join PDFs]]\n[[50 Commands part1]]\n[[50 Commands part2]]\n[[50 Commands part3]]\n[[Curl]]\n[[Rename Multiple Files]]
MainMenu\n[[AboutMe]]\n[[Debian]]\n[[Linux]]\n[[Tiddly Format text]]\n[[My Blog|http://balsagoth.pt.vu]]\n
Tags: debian-specific commands, initscripts, scheduling\n\nDebian uses a Sys-V like init system for executing commands when the system runlevel changes - for example at bootup and shutdown time.\n\nIf you wish to add a new service to start when the machine boots you should add the necessary script to the directory /etc/init.d/. Many of the scripts already present in that directory will give you an example of the kind of things that you can do.\n\nHere's a very simple script which is divided into two parts, code which always runs, and code which runs when called with "start" or "stop".\n\n/*{{{*/\n#! /bin/sh\n# /etc/init.d/blah\n#\n\n# Some things that run always\ntouch /var/lock/blah\n\n# Carry out specific functions when asked to by the system\ncase "$1" in\n start)\n echo "Starting script blah "\n echo "Could do more here"\n ;;\n stop)\n echo "Stopping script blah"\n echo "Could do more here"\n ;;\n *)\n echo "Usage: /etc/init.d/blah {start|stop}"\n exit 1\n ;;\nesac\n\nexit 0\n/*}}}*/\n\nOnce you've saved your file into the correct location make sure that it's executable "chmod 755 /etc/init.d/blah.\n\nThen you need to add the appropriate symbolic links to cause the script to be executed when the system goes down, or comes up.\n\nThe simplest way of doing this is to use the Debian-specific command update-rc.d\n\n/*{{{*/\nroot@skx:~# update-rc.d blah defaults\n Adding system startup for /etc/init.d/blah ...\n /etc/rc0.d/K20blah -> ../init.d/blah\n /etc/rc1.d/K20blah -> ../init.d/blah\n /etc/rc6.d/K20blah -> ../init.d/blah\n /etc/rc2.d/S20blah -> ../init.d/blah\n /etc/rc3.d/S20blah -> ../init.d/blah\n /etc/rc4.d/S20blah -> ../init.d/blah\n /etc/rc5.d/S20blah -> ../init.d/blah\n/*}}}*/\nIf you wish to remove the script from the startup sequence in the future run:\n\n/*{{{*/\nroot@skx:/etc/rc2.d# update-rc.d -f blah remove\nupdate-rc.d: /etc/init.d/blah exists during rc.d purge (continuing)\n Removing any system startup links for /etc/init.d/blah ...\n /etc/rc0.d/K20blah\n /etc/rc1.d/K20blah\n /etc/rc2.d/S20blah\n /etc/rc3.d/S20blah\n /etc/rc4.d/S20blah\n /etc/rc5.d/S20blah\n /etc/rc6.d/K20blah\n/*}}}*/\n\nThis will leave the script itself in place, just remove the links which cause it to be executed.\n\nYou can find more details of this command by running "man update-rc.d".
To mount a Usb Pen with permissions to normal users in root mode:\n*{{{mount -t vfat -o umask=0000 /dev/sdX /mountDirectory}}}\nIs just that :)
O suporte a escrita em partições NTFS sempre foi um problema no Linux. Por ser um sistema de arquivos proprietário, não documentado e bastante complexo, desenvolver um driver capaz de escrever em partições Windows formatadas em NTFS, sem risco de corromper os dados gravados, é um desafio formidável.\n\nIsto era um grande problema para quem mantinha o Windows em dual-boot, pois era possível apenas ler os arquivos da partição. Como o Windows também não suporta nenhum dos sistemas de arquivos usados no Linux, você acabava sendo obrigado a instalar o Windows em uma partição ~FAT32 (o que tem suas desvantagens, já que ele é um sistema muito mais propenso a problemas), ou pelo menos manter uma partição ~FAT32 disponível, para servir como uma "área de troca" entre os dois sistemas.\n\nAté hoje, o driver que havia chegado mais perto era o Paragon, um software comercial, caro e que ainda por cima tinha a desvantagem de ser bastante lento. Num distante segundo lugar, tínhamos o Captive, que modificava partições NTFS usando o próprio driver do Windows. Apesar de ser aberto, o Captive era complicado de instalar, ainda mais lento que o Paragon e ainda por cima pouco estável, corrompendo com freqüência os dados da partição.\n\nMas, felizmente tudo isso é coisa do passado. O ~NTFS-3g pode ser considerável o primeiro driver de escrita em partições NTFS for Linux realmente utilizável, finalmente oferecendo uma solução simples para o antigo problema.\n\nAo invés de ser um driver complexo, incluído no Kernel, o ~NTFS-3g roda através do Fuse, um módulo que permite criar drivers para sistemas de arquivo que rodam como programas comuns. Outro bom exemplo de driver que roda sobre o Fuse é o ~GmailFS, que permite "montar" sua conta do Gmail, usando-a para guardar arquivos.\n\nGraças ao Fuse, você não precisa se preocupar com headers e patches do Kernel. É só instalar e usar.\n\nO primeiro passo é carregar o módulo do Fuse, usando o modprobe. Ele está disponível em qualquer distribuição minimamente atual:\n/*{{{*/\n# modprobe fuse\n/*}}}*/\nUse o comando abaixo para adicioná-lo no arquivo "/etc/modules" (como root), de forma a garantir que ele vai ser carregado durante o boot:\n{{{\n# echo "fuse" >> /etc/modules\n}}}\nA partir daí, você precisa instalar os pacote "libfuse" (ou "libfuse2") e "fuse-utils", necessários para que o ntfs-3g funcione. Se você usa uma distribuição baseada no Debian Etch (incluindo o Kurumin 6.0 e 6.1), ou o Ubuntu 6.6, pode instalar diretamente via apt-get:\n{{{\n# apt-get install libfuse2 fuse-utils\n}}}\nEm outras distribuições, procure pelos pacotes "libfuse" e "fuse-utils, responsáveis pela instalação do Fuse. Por ser um lançamento recente, o ntfs-3g não está disponível em muitas distribuições. Nestes casos, você pode instalá-lo através do código fonte, disponível no:\nhttp://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-download.html\n\nO pacote é relativamente simples de compilar. Com o Fuse e os compiladores básicos instalados, basta descompactar o arquivo e rodar os tradicionais "./configure", "make" e "make install", este último como root.\n\nEnquanto escrevo, o ntfs-3g não está disponível nos repositórios do Debian, nem do Ubuntu, mas é possível instalá-lo (sem precisar recorrer ao código fonte) através do repositório do Kanotix, que inclui pacotes compilados para o Debian Sid.\n\nPara usá-lo, adicione a linha abaixo no final do arquivo "/etc/apt/source.list" e rode o comando "apt-get update":\n{{{\ndeb http://kanotix.com/files/debian sid main contrib non-free\n}}}\nInstale agora o pacote "ntfs-3g" via apt-get. Preste atenção neste passo (sobretudo se estiver instalando sobre o Ubuntu). Caso o apt-get solicite a remoção de outros pacotes, ou proponha baixar um grande número de dependências, aborte a operação (pressionando Ctrl+C) e pesquise no google sobre a disponibilidade de versões atualizadas dos pacotes.\n\n\nCom os pacotes instalados, falta só montar a partição do Windows, usando o comando "ntfs-3g". Se o Windows está instalado no driver C:, visto pelo sistema como "/dev/hda1" e você deseja acessar os arquivos através da pasta "/mnt/hda1", o comando seria:\n{{{\n# ntfs-3g /dev/hda1 /mnt/hda1\n}}}\n(o @@"/mnt/hda1"@@ pode ser substituído por qualquer outra pasta de sua preferência)\n\nPor padrão, o comando monta a partição com permissão de acesso apenas para o root, o que leva ao problema clássico de você só conseguir acessar ao abrir o gerenciador de arquivos como root. Para corrigir o problema, dando permissão de acesso para todos os usuários, adicione a opção "-o umask=0" ao rodar o comando:\n{{{\n# ntfs-3g -o umask=0 /dev/hda1 /mnt/hda1\n}}}\nAgora você consegue acessar e escrever na partição usando seu login de usuário. Porém, ao copiar arquivos para dentro da partição você recebe uma mensagem chata (para cada arquivo copiado) dizendo que não é possível modificar as permissões do arquivo. Isso é perfeitamente normal, já que o NTFS não suporta as permissões de acesso do Linux, mas é extremamente chato se você precisa copiar um grande número de arquivos.\n\nPara desativar as mensagens, adicione a opção "silent", como em:\n{{{\n# ntfs-3g -o umask=0,silent /dev/hda1 /mnt/hda1\n}}}\nUm último problema, apontado Pelo Cláudio Loureiro é a falta de suporte a caracteres acentuados, que faz com que arquivos e pastas contendo cedilhas e acentos fiquem ocultos. Felizmente, isso é facilmente contornável. Rode o comando "locale -a" no terminal para verificar qual é a linguagem e conjunto de caracteres usado na sua instalação. Normalmente, ao instalar o sistema em Português do Brasil, será usado o "pt_BR.iso88591". Adicione o parâmetro "locale=pt_BR.iso88591" no comando, para que o ntfs-3g use a linguagem e o conjunto de caracteres corretos. A partir daí, os arquivos acentuados passam a aparecer normalmente:\n{{{\n# ntfs-3g -o umask=0,silent,locale=pt_BR.iso88591 /dev/hda1 /mnt/hda1\n}}}\nSegundo o Szakacsits Szabolcs, desenvolvedor do ntfs-3g, as próximas versões serão capazes de detectar isso automaticamente, de forma que este parâmetro pode não ser mais necessário no momento em que estiver lendo esta dica.\n\nConcluindo, caso você queira que a partição do Windows seja montada automaticamente durante o boot, existe a opção de adicionar o ponto de montagem no arquivo "/etc/fstab", que é lido durante o boot. Abra o arquivo (como root) e adicione a linha:\n{{{\n /dev/hda1 /mnt/hda1 ntfs-3g silent,locale=pt_BR.iso88591,umask=0 0 0\n}}}\nNote que a ordem dos parâmetros mudou, mas os argumentos usados continuam os mesmos. É importante notar que você deve tomar cuidado ao editar o fstab, pois ele é um arquivo essencial para o carregamento do sistema. Revise a alteração antes de reiniciar o micro e deixe sempre uma linha em branco no final do arquivo, caso contrário vai receber uma mensagem de erro chata durante o boot ;).\n\nOutra opção ao adicionar o ntfs-3g no /etc/fstab é usar a opção "noauto", que faz com que a partição não seja montada automaticamente durante o boot. Isso seria mais recomendável do ponto de vista da segurança, pois a partição seria montada apenas quando fosse realmente acessar, evitando danos acidentais. Para acessar a partição, você usaria o comando "mount /dev/hda1" (onde o "hda1" é a partição). No KDE você pode criar ícones para acesso às partições clicando com o botão direto sobre o desktop e acionando a opção "Criar novo > Link para Dispositivo".\n\nAo adicionar o "noauto", a linha no fstab ficaria:\n{{{\n /dev/hda1 /mnt/hda1 ntfs-3g noauto,silent,locale=pt_BR.iso88591,umask=0 0 0\n}}}\nEmbora o ntfs-3g ainda seja considerado um software em estágio beta, problemas de corrupção de dados são bastante raros. Forcei uma série de situações potencialmente perigosas durante os testes, movendo pastas com mais de 1000 arquivos e subpastas, interrompendo operações no meio e até desligando o micro no botão durante uma cópia, sem conseguir causar problemas sérios na partição. Dentro da minha experiência, o máximo que poderia acontecer em casos mais extremos seria você precisar passar um scandisk através do próprio Windows para corrigir eventuais problema na estrutura do sistema de arquivos.\n\nOutra coisa que chama a atenção é o desempenho. O ntfs-3g obtém taxas de transferência absurdamente maiores que o Captive e o Paragon, se aproximando do desempenho que seria oferecido por um sistema de arquivos "nativo".
Padme was the queen of the planet [[Naboo]] and later its Senator.\n\nShe fell in love and secretly married AnnakinSkywalker. After Annakin turned evil, Padme died just after delivering Annakin's twin children LeiaOrgana and LukeSkywalker.
<div class='header' macro='gradient vert #000 #464646'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu' force='true'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>
Pdftk is a simple tool for doing everyday things with PDF documents. Keep one in the top drawer of your desktop and use it to:\n\n*Merge PDF Documents\n*Split PDF Pages into a New Document\n*Rotate PDF Pages or Documents\n*Decrypt Input as Necessary (Password Required)\n*Encrypt Output as Desired\n*Fill PDF Forms with FDF Data or XFDF Data and/or Flatten Forms\n*Apply a Background Watermark or a Foreground Stamp\n*Report on PDF Metrics such as Metadata, Bookmarks, and Page Labels\n*Update PDF Metadata\n*Attach Files to PDF Pages or the PDF Document\n*Unpack PDF Attachments\n*Burst a PDF Document into Single Pages\n*Uncompress and Re-Compress Page Streams\n*Repair Corrupted PDF (Where Possible)\n\nPdftk allows you to manipulate PDF easily and freely. It does not require Acrobat, and it runs on Windows, Linux, Mac OS X, FreeBSD and Solaris.\n \n!Examples\n!!!Merge Two or More PDFs into a New Document\n/*{{{*/\npdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf\n/*}}}*/\n!!!or (Using Handles):\n/*{{{*/\npdftk A=1.pdf B=2.pdf cat A B output 12.pdf\n/*}}}*/\n!!!or (Using Wildcards):\n/*{{{*/\npdftk *.pdf cat output combined.pdf\n/*}}}*/\n!!!Split Select Pages from Multiple PDFs into a New Document\n/*{{{*/\npdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf\n/*}}}*/\n!!!Rotate the First Page of a PDF to 90 Degrees Clockwise\n/*{{{*/\npdftk in.pdf cat 1E 2-end output out.pdf\n/*}}}*/\n!!!Rotate an Entire PDF Document's Pages to 180 Degrees\n/*{{{*/\npdftk in.pdf cat 1-endS output out.pdf\n/*}}}*/\n!!!Encrypt a PDF using 128-Bit Strength (the Default) and Withhold All Permissions (the Default)\n/*{{{*/\npdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass\n/*}}}*/\n!!!Same as Above, Except a Password is Required to Open the PDF\n/*{{{*/\npdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz\n/*}}}*/\n!!!Same as Above, Except Printing is Allowed (after the PDF is Open)\n/*{{{*/\npdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing\n/*}}}*/\n!!!Decrypt a PDF\n/*{{{*/\npdftk secured.pdf input_pw foopass output unsecured.pdf\n/*}}}*/\n!!!Join Two Files, One of Which is Encrypted (the Output is Not Encrypted)\n/*{{{*/\npdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf\n/*}}}*/\n!!!Uncompress PDF Page Streams for Editing the PDF Code in a Text Editor\n/*{{{*/\npdftk mydoc.pdf output mydoc.clear.pdf uncompress\n/*}}}*/\n!!!Repair a PDF's Corrupted XREF Table and Stream Lengths (If Possible)\n/*{{{*/\npdftk broken.pdf output fixed.pdf\n/*}}}*/\n!!!Burst a Single PDF Document into Single Pages and Report its Data to doc_data.txt\n/*{{{*/\npdftk mydoc.pdf burst\n/*}}}*/\n!!!Report on PDF Document Metadata, Bookmarks and Page Labels\n/*{{{*/\npdftk mydoc.pdf dump_data output report.txt\n/*}}}*/
<<plugins>>
''text edition:''\n*vim\n*pida\n*scribes\n*anjuta\n*eclipse\n*quanta\n\n''video / video edition:''\n*cinelerra\n*kino\n*mplayer\n*vlc\n\n''audio / audio edition:''\n*audacity\n*moc\n*amarok\n\n''image viewers / image editing:''\n*photoshop\n*gimp\n*gqview\n*f-spot\n*picasa\n\n''www software''\n*lighttpd\n*mysql\n*php\n*gallery2\n*tiddlywiki\n*trac\n\n''version control / Project management''\n*mercurial\n*thinkrock\n\n''organizers''\n*grinffith\n*tellico\n*gtktalog\n\n\n''document viewers''\n*evince\n\n''backup''\n*rsync\n*pybackpack\n\n''mail''\n*evince\n*gcaldaemon\n\n''burners''\n*k3b\n*growisofs\n*gnomebaker\n\n
Often over time, we will want to reorganize a group of files by renaming them.\n\n!!!To rename *.txt to *.bak\n(e.g. to rename ham.txt to ham.bak)\n/*{{{*/\nfor f in *.txt; do mv "$f" "${f%.txt}.bak"; done\n/*}}}*/\n!!!To remove ‘new-’ from new-*\n(e.g. to rename new-ham.txt to ham.txt)\n/*{{{*/\nfor f in new-*; do mv "$f" "${f#new-}"; done\n/*}}}*/\n!!!${variable%pattern} vs ${variable#pattern}\nThe funny-looking symbol, ${f%.txt} is a useful match-and-remove string operator:\n\nIf the pattern ‘.txt’ matches the end of variable $f, it will remove the matching part (that’s ‘.txt‘) and return the rest. Try this:\n/*{{{*/\nf=new-ham.txt # define $f as 'new-ham.txt'\necho ${f%.txt} # display 'new-ham'\n/*}}}*/\nWhat about ${f#new-}? It’s almost the same, but it matches the pattern at the beginning of the variable.\n/*{{{*/\necho ${f#new-} # display 'ham.txt'\n/*}}}*/
This is my second tiddler\nFor more information aboute me click on AboutMe
It's so simple, just\n/*{{{*/\nupdate-alternatives --config -x-www.-browser\n/*}}}*/
Balsagoth Wiki
|!Ctrl+A |! Move o cursor para o início da linha |!Home|\n|!Ctrl+B |! Move o cursor uma posição à esquerda|! <-|\n|!Ctrl+C |! Envia sinal EOF() para o sistema|\n|!Ctrl+D |! Apaga um caractere à direita |! Delete|\n|!Ctrl+E |! Move o cursor para o fim da linha |! End|\n|!Ctrl+F |! Move o cursor uma posição à direita |! ->|\n|!Ctrl+H |! Apaga um caractere à esquerda |! Backspace|\n|!Ctrl+I |! Completa arquivos e comandos |! TAB|\n|!Ctrl+J |! Quebra a linha |!Enter|\n|!Ctrl+K |! Recorta do cursor até o fim da linha|\n|!Ctrl+L |! Limpa a tela (igual ao comando clear)|\n|!Ctrl+N |! Próximo comando|\n|!Ctrl+P |! Comando anterior|\n|!Ctrl+Q |! Destrava a shell (veja Ctrl+S)|\n|!Ctrl+R |! Procura no histórico de comandos|\n|!Ctrl+S |! Trava a shell (veja Ctrl+Q)|\n|!Ctrl+T |! Troca dois caracteres de lugar|\n|!Ctrl+U |! Recorta a linha inteira|\n|!Ctrl+V |! Insere caractere literal|\n|!Ctrl+W |! Recorta a palavra à esquerda|\n|!Ctrl+X |! Move o cursor para o início/fim da linha (2x) |!Home/End|\n|!Ctrl+Y |! Cola o trecho recortado|
/***\n!Layout Rules /%==============================================%/\n***/\n/*{{{*/\n\nbody {\n /* this is required for proper layout on IE, for some reason... */\n _position: static;\n}\n\n.tagClear {\n /* this, too, is a necessary IE hack... */\n _margin-top: 10em; \n _clear: both;\n}\n\n.headerForeground, .headerShadow {\n padding-top: 1em;\n}\n\n.tiddler {\n margin: 0 0 0.9em 0;\n padding-bottom: 1em;\n}\n\n#mainMenu {\n width: 16em;\n font-size: 1em;\n text-align: left;\n padding-top: 0.5em;\n}\n\n#mainMenu * {\n font-size: 1em;\n font-weight: normal;\n padding: 0; margin: 0; border: 0;\n}\n\n#mainMenu ul {\n list-style: none;\n margin-bottom: 10px;\n}\n\n#mainMenu li {\n text-indent: 1em;\n}\n\n#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\n display: block; margin: 0;\n}\n\n#displayArea {\n margin-left: 19em; margin-top: 0;\n}\n\n.toolbar .button {\n margin-left: 4px;\n}\n\n/*}}}*/\n\n/***\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n background: #464646;\n color: #000;\n}\n\nh1,h2,h3,h4,h5 {\n color: #000;\n background: #eee;\n}\n\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n.header {\n background: #000;\n}\n\n.headerForeground {\n color: #cf6;\n}\n\n.headerForeground a {\n font-weight: normal;\n color: #cf6;\n}\n\n/* ??? what is up when you specify a site title colour in IE ??? */\n/* .siteTitle { color: red; } */\n\n/*}}}*/\n/***\n!General tabs /%=================================================%/\n***/\n/*{{{*/\n\n.tabSelected {\n color: #fff;\n background: #960;\n border: none;\n}\n\n.tabUnselected {\n color: #fff;\n background: #660;\n}\n\n.tabContents {\n color: #004;\n background: #960;\n border: none;\n}\n\n.tabContents .button, .tabContents a {\n border: none;\n color: #fff;\n}\n\n.tabContents a:hover, .tabset a:hover {\n background: #000;\n}\n\n/* make nested tab areas look different */\n.tabContents .tabSelected, .tabContents .tabContents {\n background: #700;\n color: #fff;\n}\n\n.tabContents .tabContents {\n color: #eeb;\n}\n\n/*}}}*/\n/***\n!Main Menu /%=================================================%/\n***/\n/*{{{*/\n#mainMenu {\n background: #700;\n color: #fff;\n border-right: 3px solid #500;\n}\n\n#mainMenu * {\n color: #fff;\n}\n\n#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\n border: none;\n border-bottom: 1px solid #500;\n border-top: 1px solid #900;\n}\n\n#mainMenu a:hover,\n#mainMenu a.button:hover {\n background-color: #b00;\n color: #fff;\n}\n\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n color: #000;\n background: #eeb;\n border-right: 3px solid #bb8;\n border-bottom: 3px solid #520;\n}\n\n#sidebarOptions .sliderPanel {\n background: #fff;\n}\n\n#sidebarOptions .sliderPanel a {\n border: none;\n color: #700;\n}\n\n#sidebarOptions .sliderPanel a:hover {\n color: #fff;\n background: #700;\n}\n\n#sidebarOptions .sliderPanel a:active {\n color: #700;\n background: #fff;\n}\n\n#sidebarOptions a {\n color: #700;\n border: none;\n}\n\n#sidebarOptions a:hover, #sidebarOptions a:active {\n color: #fff;\n background: #700;\n}\n\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n border-right: 3px solid #da1;\n border-bottom: 3px solid #a80;\n background: #ffe72f;\n color: #014;\n}\n\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #cf6;\n border: none;\n}\n\n.popup hr {\n color: #000;\n}\n\n.popup li.disabled {\n color: #666;\n background: #cf6;\n}\n\n.popup li a, .popup li a:visited {\n color: #000;\n border: 1px outset #cf6;\n background: #cf6;\n}\n\n.popup li a:hover {\n color: #000;\n border: 1px outset #cf6;\n background: #ef9;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n.tiddler {\n background: #fff;\n border-right: 3px solid #aaa;\n border-bottom: 3px solid #555;\n}\n\n.title {\n color: #900;\n}\n\n.toolbar {\n color: #000;\n}\n\n.toolbar .button {\n background: #eeb /*#cf6*/;\n border: 1px outset #eeb /*#cf6*/;\n}\n\n.toolbar .button:hover {\n background: #700 /*#ef9*/;\n color: #fff;\n}\n\n#mainMenu .calendar { border: 1px solid white; }\n#mainMenu .calendar, #mainMenu .calendar tr, #mainMenu .calendar td, #mainMenu .calendar a {\n}\n\n/*}}}*/\n\n/***\n!Additional print overrides for fancy style /%==============================================%/\n***/\n/*{{{*/\n\n@media print {\n\n.tiddler {\n /* get rid of our fancy tiddler outline */\n border: none;\n}\n\n}\n/*}}}*/\n
|!Format|!It will look like this...|!...if you format it like this...|\n|Bold-faced type|''text''|{{{''text''}}}|\n|Italic text|//text//|{{{//text//}}}|\n|Underlined text|__text__|{{{__text__}}}|\n|Strike-through text|--text--|{{{--text--}}}|\n|Links with wikiwords|EnchiLada (inactive link - no tiddler yet)<br>WikiWord (active link to tiddler)|{{{EnchiLada}}}<br>{{{WikiWord}}}|\n|~De-Wikify a ~WikiWord|~WikiWord, ~EnchiLada|{{{~WikiWord, ~EnchiLada}}}|\n|Links with brackets|[[How to add background images]]|{{{[[How to add background images]]}}}|\n|Pretty links|[[display text|ColorSchemes]] - links to the tiddler of color schemes|{{{[[display text|ColorSchemes]]}}}|\n|External links work the same way:|http://groups.google.com/group/TiddlyWiki <br><br>[[TiddlyWiki Google group|http://groups.google.com/group/TiddlyWiki]]|{{{http://groups.google.com/group/TiddlyWiki}}} <br><br> {{{[[TiddlyWiki Google group|http://groups.google.com/group/TiddlyWiki]]}}}|\n|Links to local files|To a file on a CD in your D drive: <br><br>To a file on your USB stick on your e drive: <br><br>To a file in your hard drive:|{{{file:///D:/filename.doc/}}}<br><br>{{{file:///E:/filename.doc/}}}<br><br>{{{file:///C:/filepath/filename.doc/}}}|\n|Colored text|@@color(green):green colored@@|{{{@@color(green):green colored@@}}}|\n|Text with colored background|@@bgcolor(#ff0000):color(#ffffff):red colored@@|{{{@@bgcolor(#ff0000):color(#ffffff):red colored@@}}}|\n|Highlighting|@@text@@|{{{@@text@@}}}|\n|Superscript|2^^3^^=8|{{{2^^3^^=8}}}|\n|Subscript|a~~ij~~ = -a~~ji~~|{{{a~~ij~~ = -a~~ji~~}}}|\n\n''Simple indenting:''\n{{{ {{indent{text }}} produces:\n\n{{indent{text\n\n''Numbered lists:''\n{{{#item one }}}\n{{{##Item 1a}}}\n{{{###Item 1ai}}} \n\nproduces:\n#item one \n##Item 1a \n###Item 1ai \n''Bulleted lists:''\n{{{*Bullet one}}}\n{{{**Bullet two}}}\n{{{***Bullet three}}}\n \nproduces:\n*Bullet one \n**Bullet two \n***Bullet level three \n''Headlines''\n\n{{{!Text}}} produces:\n!Text\n{{{!!Text}}} produces:\n!!Text\n{{{!!!Text}}} produces:\n!!!Text\nand so on.\n\n''Tables:''\nThis is the formatting:\n\n{{{|!Table header|!Column Two|}}}\n{{{|>| colspan |}}}\n{{{| rowspan |left aligned|}}}\n{{{|~| right aligned|}}}\n{{{|bgcolor(#DC1A1A):colored| centered |}}}\n{{{||*lists<br>*within<br>*tables<br><br>and double-spaced too|}}}\n{{{|caption|c}}}\n\nThis is the result:\n\n|!Table header|!Column Two|\n|>| colspan |\n| rowspan |left aligned|\n|~| right aligned|\n|bgcolor(#DC1A1A):colored| centered |\n||*lists<br>*within<br>*tables<br><br>and double-spaced too|\n|caption|c\n\nTo align a cell so that its text displays at the top rather than the center, add {{{vertical-align:top;}}} at the beginning of the cell.\n\n''Images:''\n{{{[img[http://farm1.static.flickr.com/39/122259544_6913ca58f3_m.jpg]]}}} is the formatting for:\n\n[img[http://farm1.static.flickr.com/39/122259544_6913ca58f3_m.jpg]]\n\n''Dotted horizontal lines:'' \n{{{----}}} produces:\n----\n\n''Line-by-line blockquotes:''\n{{{>level 1}}}\n{{{>level 1}}}\n{{{>>level 2}}}\n{{{>>level 2}}}\n{{{>>>level 3}}}\n{{{>>>level 3}}}\n{{{>>level 2}}}\n{{{>level 1}}}\n\nproduces:\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\n''Extended blockquotes:''\n{{{<<<}}}\n{{{Extended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotes}}}\n{{{<<<}}} \n\nproduces:\n<<<\nExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotesExtended blockquotes\n<<<\n\n
Balsagoth